在使用binary进行备份时,一个很严重的问题:[code]mysql> set names gbk;
Query OK, 0 rows affected (0.02 sec)
mysql> CREATE TABLE t1
(
→ iNetbarId
int(11) NOT NULL DEFAULT ‘0’,
→ iUin
bigint(20) NOT NULL DEFAULT ‘0’,
→ vNetbarName
varchar(80) NOT NULL DEFAULT ‘“-”’,
→ PRIMARY KEY (iNetbarId
)
→ ) ENGINE=InnoDB DEFAULT CHARSET=gbk;
Query OK, 0 rows affected (0.27 sec)
mysql>
mysql> insert into t1 values(1,1,‘xxxx’);
Query OK, 1 row affected (0.05 sec)
mysqldump test t1 --default-character-set=binary > t1.sql
mysql -uroot test < t1.sql
ERROR 1067 (42000) at line 25: Invalid default value for ‘vNetbarName’[/code]一个正常导出的表,导入时出现错误。
数据库使用 UTF-8 编码要比 GBK 好很多。