sql >> データベース >  >> RDS >> Mysql

mysqlのビットフィールド内のCSVからデータをロードします

    私はついに解決策を見つけました、そして私は将来の参考のためにそれをここに投稿します。 mysqlロードデータのマニュアルページ<でヘルプを見つけました。 / a> 。

    したがって、テストの目的で、私のテーブル構造は次のとおりです。

    +--------+-------------+------+-----+---------+-------+
    | Field  | Type        | Null | Key | Default | Extra |
    +--------+-------------+------+-----+---------+-------+
    | id     | int(11)     | NO   | PRI | NULL    |       |
    | nome   | varchar(45) | YES  |     | NULL    |       |
    | valore | bit(1)      | YES  |     | NULL    |       |
    +--------+-------------+------+-----+---------+-------+
    

    私のcsv テストファイルは次のとおりです:

    1,primo_valore,1
    2,secondo_valore,0
    3,terzo_valore,1
    

    csvを読み込むためのクエリ テーブルに入れるのは:

     load data infile 'test.csv' into table test
        fields terminated by ',' lines terminated by '\n'
        (id, nome, @valore) set
           valore=cast(@valore as signed);
        show warnings;
    

    ご覧のとおり、csvをロードしてください キャストを行う必要がありますcast(@valore as signed) およびcsv 整数表記1を使用できます または0 bitを示します 価値。これは、BIT値をバイナリ表記(たとえば、b'011010')を使用してロードできないためです。 。



    1. テーブルがすでに存在する場合、CREATE TABLE IFNOTEXISTSが失敗する

    2. RailsのMySQLストアドプロシージャから出力パラメータを取得するにはどうすればよいですか?

    3. DateTimeからINTに変換する

    4. SQLServerExpressエディションでジョブを作成する方法