库里的一个表,使用varchar(32)+int(16)作为主键,表结构:
CREATE TABLE `name_lv` (
`name` varchar(32) NOT NULL,
`lv` varchar(16) NOT NULL,
PRIMARY KEY (`name`,`lv`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk
导出数据后再倒入,同样环境,同样数据库版本,出现几十个Duplicate entry异常,不得已只得增加强制倒入参数
数据量2000万的表里,几十个错误,并不是很多:
ERROR 1062 (23000) at line 3532: Duplicate entry '123?-10' for key 'PRIMARY'
ERROR 1062 (23000) at line 3584: Duplicate entry 'admin?-10' for key 'PRIMARY'
ERROR 1062 (23000) at line 3593: Duplicate entry 'basten?-10' for key 'PRIMARY'
ERROR 1062 (23000) at line 3607: Duplicate entry 'condor?-10' for key 'PRIMARY'
ERROR 1062 (23000) at line 3846: Duplicate entry '武士の太太?-10' for key 'PRIMARY'
ERROR 1062 (23000) at line 3849: Duplicate entry '小小?-10' for key 'PRIMARY'
ERROR 1062 (23000) at line 3695: Duplicate entry 'm?o蕶薍﹎-10' for key 'PRIMARY'
ERROR 1062 (23000) at line 3799: Duplicate entry '″★→癫茜?-10' for key 'PRIMARY'
ERROR 1062 (23000) at line 3801: Duplicate entry '闇嶅?缈-10' for key 'PRIMARY'
ERROR 1062 (23000) at line 3802: Duplicate entry '闆勫帤璐?pq-10' for key 'PRIMARY'
ERROR 1062 (23000) at line 3803: Duplicate entry '冰酷?-10' for key 'PRIMARY'
怀疑name字段里的这个?号是一个GBK编码不包含的字符所以会产生这个问题?
那为什么可以录入呢?(录入时正常,导出,再倒入即出Duplicate entry)
这是个什么问题?如何避免这个情况,怎么解决呢?
谢谢 :)