読者です 読者をやめる 読者になる 読者になる

MySQLワークベンチでNullをインポートする方法

[背景]
MySQLワークベンチでcsvエクスポートを行うと、NullのカラムはNULLという文字でエクスポートされる。
これを同じくMySQLワークベンチでインポートを行うと、NULLという文字が格納されてしまう。
これを、csvファイルを編集して、\Nと文字列置換しても、\Nという文字が格納されてしまう。

[対応方法]
csvファイルをあまり編集する必要ないのであれば、
csv形式でエクスポートするのではなく、SQL形式でエクスポートすれば良い。
これにより、わざわざデータベースのダンプを取得しなくても、テーブル単位でエクスポートできるし、
エクスポート結果をSQLエディタに張り付けてインポートができる。
当然、NullのカラムはNullの状態で復元できる。

[問題点]
・編集する際は、csv形式より当然手間
・importする際には、元の対象レコードを削除しておく必要有
 (これはMySQLワークベンチ経由でcsvインポートする際も同じであるが)

[発展形]
GUI形式でエクスポートした結果をNullでインポートできる様なバッチファイルを作成しておく。
具体的には、対象ファイルをsedなどでNULL文字を\nに置換し、
mysqlimportコマンドでインポートする際に--replaceオプションコマンドを付与して実行する様にする。

詳解MySQL 5.7 止まらぬ進化に乗り遅れないためのテクニカルガイド (NEXT ONE)

詳解MySQL 5.7 止まらぬ進化に乗り遅れないためのテクニカルガイド (NEXT ONE)