[背景]
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オプションコマンドを付与して実行する様にする。