库里的一个表,使用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)

这是个什么问题?如何避免这个情况,怎么解决呢?

谢谢 :)

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐