TOP

MySQL批量插入与唯一索引问题解决
2019-04-02 22:08:30 】 浏览:143
Tags:MySQL 批量 插入 唯一 索引 问题 解决

在开发项目时,因为有一些旧系统的基础数据需要提前导入,所以我在导入时做了批量导入操作 ,但是因为MySQL中的一次可接受的SQL语句大小受限制所以我每次批量虽然只有500条,但依然无法插入,这个时候代码报错如下:


根据报错我们很快就可以知道,是SQL语句数据包太大导致,我们可以设置MySQL服务器参数max_allowed_packet来解决这个问题。


1.添加【mysqld】下max_allowed_packet参数,设置的尽量大一些。


2.临时设置max_allowed_packet,通过语句设置


默认情况下Mysql参数max_allowed_packet值是1M.


当在MySQL数据库中,创建索引默认是不区分大小写的,比如说如下语句:


但当我插入地址编码分别为H12C与h12C时,就报错了,抛出异常:Duplicate entry 'H12C' for key 'normal_localtion_code',这里则说明不区分大小写,所以这个地方需要解决这个问题。


1.设置字段为Binary,那么索引就可以区分大小写了。


上面方法就解决了。


MySQL批量插入与唯一索引问题解决


1.查询语句加binary
MySQL批量插入与唯一索引问题解决


2.与索引解决方案一致,设置字段属性为binary即可。



MySQL批量插入与唯一索引问题解决 https://www.cppentry.com/bencandy.php?fid=57&id=217013

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MySQL 安全登陆工具 mysql_config.. 下一篇MySQL修改 innodb_data_file_path..