16進ダンプでも心配なMySQL

| | コメント(0) | トラックバック(0)

 さすがに16進なら大丈夫だろうと思っていたら、他のサーバへデータを移動する為にインポートしようとしたら

ERROR 1054 at line 98603: Unknown column '0x' in 'field list'

このようにエラーを吐いて処理が止まった。
結局どんな吐き出し方をしたのだろうと確認すると、元のDBでは空文字(NULLでは無い)状態になっている文字列フィールドでダンプ時に0xのみ出力されていました。

NULLであれば
VALUES(NULL,NULL,NULL);
という感じになるところが空文字だと
VALUES(0x,0x,0x);
となっていました。終端文字を吐き出さない仕様だからこうなるのでしょうが、同じバージョンのMySQLならインポートも対応しろよって思いました。

結局空文字はNULLでも良かったのでテキストエディタで置換してインポート終了しました。どうしても空文字で入れたいのであれば0xを''に置換してもいいですね。

使用したバージョン:4.0.26

トラックバック(0)

このブログ記事を参照しているブログ一覧: 16進ダンプでも心配なMySQL

このブログ記事に対するトラックバックURL: http://blog.c-production.com/mt/mt-tb.cgi/393

コメントする

このブログ記事について

このページは、管理人が2007年4月26日 13:49に書いたブログ記事です。

ひとつ前のブログ記事は「新プロジェクトのキャラが公開されています」です。

次のブログ記事は「FedoraにPHPをソースから入れると…」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.1