设为首页 加入收藏

TOP

MySQL批量插入与唯一索引问题解决
2019-04-02 22:08:30 】 浏览:81
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 安全登陆工具 mysql_config.. 下一篇MySQL修改 innodb_data_file_path..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }