mysql:12837
From: <a2cf@xxxxxxxxxx>
Date: Mon, 06 Mar 2006 21:14:29 +0900
Subject: [mysql 12837] mysqldumpの--hex-blobオプションにより「0x」
atsushiです。 いつも参考にさせていただいております。 mysqldumpの--hex-blobオプションについて不思議な動作がありました。 --hex-blobオプションを使用したときに--extended-insertオプションと併用すれば問題ないのですが、--hex-blobオプションだけを使用した場合、列の値が空('')の時、ダンプファイルが「0x」となってしまいます。 「値が空('')の時の--hex-blobと--extended-insertの関係」 ●共にオプションなし → OK(hexにはならない) ●--hex-blobのみ → 「0x」となる。 ● --hex-blobと--extended-insert → OK ● --extended-insertのみ → OK(hexにはならない) これは自分の使用方法に問題があるのでしょうか? 詳細のテスト結果を以下に示します。 なお、InnoDBでなくMyISAMでもNGでした。cp932をlatin1にしても同様でした。 何とぞよろしくお願いします。 ######## 詳 細 ######## 環境: MySQL4.1.15 Linux (Standard, x86) 版 create database testdb; use testdb; create table t1(c1 varchar(50)) engine = innodb default character set = cp932; insert into t1 values('abc'); insert into t1 values(''); insert into t1 values(NULL); insert into t1 values('def'); grant SELECT,LOCK TABLES on *.* to bkupuser@localhost identified by 'pass'; ●mysqldump --skip-opt -h localhost -u bkupuser --password=pass testdb t1 > dump_nohex_noextins.sql →OK 元々は問題ない。 INSERT INTO `t1` VALUES ('abc'); INSERT INTO `t1` VALUES (''); INSERT INTO `t1` VALUES (NULL); INSERT INTO `t1` VALUES ('def'); ●mysqldump --skip-opt --hex-blob -h localhost -u bkupuser --password=pass testdb t1 > dump_withhex_noextins.sql →NG --hex-blobだけでは0xとなる。 INSERT INTO `t1` VALUES (0x616263); INSERT INTO `t1` VALUES (0x); INSERT INTO `t1` VALUES (NULL); INSERT INTO `t1` VALUES (0x646566); ●mysqldump --skip-opt --hex-blob --extended-insert -h localhost -u bkupuser --password=pass testdb t1 > dump_withhex_withextins.sql →OK --extended-insertがあれば問題ない。 INSERT INTO `t1` VALUES (0x616263),(''),(NULL),(0x646566); ●mysqldump --skip-opt --extended-insert -h localhost -u bkupuser --password=pass testdb t1 > dump_nohex_withextins.sql →OK --extended-insertだけでも問題ない。 INSERT INTO `t1` VALUES ('abc'),(''),(NULL),('def');
-> 12837 2006-03-06 21:14 [<a2cf@xxxxxxxxxx> ] mysqldumpの--hex-blobオプションにより「0x」 12838 2006-03-06 21:41 ┗[SAKAI Kei <sak@xxxxx] 12839 2006-03-07 08:32 ┗[<a2cf@xxxxxxxxxx> ]