ホームページ >データベース >mysql チュートリアル >LOAD DATA INFILE を使用して CSV から MySQL にゼロではなく NULL 値をロードするにはどうすればよいですか?
問題:
空のフィールドを持つ CSV ファイルからデータをロードするときLOAD DATA INFILE コマンドを使用して MySQL テーブルにデータを書き込むと、MySQL は空のフィールドに代わりに 0 を割り当てます。列が NULL デフォルト値で定義されている場合でも NULL。
解決策:
空のフィールドに NULL 値を正しくロードするには、問題のあるフィールドをローカル ファイルに読み込みます。変数を使用し、変数が次の場合は条件付きで実際のフィールド値を NULL に設定します。空:
LOAD DATA INFILE '/tmp/testdata.txt' INTO TABLE moo FIELDS TERMINATED BY "," LINES TERMINATED BY "\n" (one, two, three, @vfour, five) SET four = NULLIF(@vfour,'') ;
説明:
追加の注意:
すべてのフィールドが空である可能性がある場合は、すべてをローカル変数に読み取り、複数のフィールドを使用します。条件付きで NULL 値を割り当てる SET ステートメント。
以上がLOAD DATA INFILE を使用して CSV から MySQL にゼロではなく NULL 値をロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。