Duplicate entry ‘‘ for key ‘Primary‘
问题描述
在公司业务中需要批量向mysql中写数据,总是出现错误:Duplicate entry ‘[info]’ for key ‘PRIMARY’;
思考
出现错误的原因是mysql数据表设置了主键primary key,而批量写入的数据中设了主键的字段与数据库中的数据有重复。那么解决方法就简单了,剔除重复的数据。
解决方法
拿到报错信息,从数据中移除重复的数据,重新执行写入操作,完成。
try{//此处是可能会出现此异常的java语句
}catch(SQLException e) {//获取错误信息String message = e.getMessage();if (message.matches("Duplicate entry (.*) for key 'PRIMARY'")) {//拿到重复的room_id,这里的CharacterFilter是我的工具类String rejected = CharacterFilter.numberFilter(message);//移除重复数据,这里的data是Listreject(data,rejected);}
}/** 剔除 */
public void reject(List<你的实体类> data, String rejected) {//循环遍历Listfor (Iterator<FlowChartCategory> iterator = data.iterator();iterator.hasNext();) {//拿到主键信息String 主键 = iterator.next().getXXXXX();//比对if (主键.equals(rejected))//移除重复的数据iterator.remove();}}
其中CharacterFilter.numberFilter()是我自定义的工具类及方法,主要作用就是从字符串中过滤其他字符拿到数字。详情参考:https://blog.csdn.net/yeah_you_are/article/details/120676629?spm=1001.2014.3001.5501
Duplicate entry ‘‘ for key ‘Primary‘相关推荐
- java向数据库插入数据时的错误: Duplicate entry ‘‘ for key ‘PRIMARY‘ 问题解决
java向数据库插入数据时的错误: Duplicate entry '' for key 'PRIMARY' 问题解决 参考文章: (1)java向数据库插入数据时的错误: Duplicate ent ...
- mysql 出现错误 Duplicate entry for key PRIMARY 解决办法
原来是没有主键的,想增加一列为主键. mysql> desc t111; +-------+-------------+------+-----+---------+-------+ | Fie ...
- java duplicate entry_java向数据库插入数据时的错误: Duplicate entry '' for key 'PRIMARY' 问题解决...
错误提示为:你插入的记录与数据表中原有记录的主键重复了(Duplicate).所以插入失败 mysql主键设置成auto_increment时,进行并发性能测试出现主键反复Duplicate entr ...
- Duplicate entry for key 'PRIMARY'
错误场景: 更新同事代码之后启动报错,代码中的bug 具体的堆栈信息: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolatio ...
- jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry for key PRIMARY异常解决办法
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry ' ...
- Mysql出现问题:ERROR 1062 (23000): Duplicate entry ‘‘ for key ‘PRIMARY‘解决方案
回城传送–><数据库问题解决方案> ❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹.Java领域优质创作者
- DataFrame写入mysql时报错Duplicate entry ‘...‘ for key ‘PRIMARY
原因是在执行to_sql函数时.使用的是追加模式(if_exists='append').这时候需要将另一个参数改为(index=False)也就是不将索引作为列名写入.这样就可以了
- 设置navicat数据库主键自增 1062报错以及result in duplicate entry '' for key 'primary'
设置主键自增时,和设置主键时可能有粗心的同学和我一样就是将一个表中的有两个相同值的属性设为主键这时就会报错 解决方法很简单就是保证设置主键属性下的值不能相同即可.
- Duplicate entry...for key...
Duplicate entry...for key...的错误原因是主键的唯一值重复,在对数据库进行修改.插入操作时,一但主键的唯一值重复就会报此错误,有时在表中存在多个主键时,对表操作仍然报此错误, ...
- Duplicate entry ‘***‘ for key ‘UK_mjrobjw9m8n29ou6083ixjxmf‘
后台运行报错Duplicate entry '***' for key 'UK_mjrobjw9m8n29ou6083ixjxmf' 检查sql语句,看数据库里面唯一的字段,你在添加或者修改的时候重复
最新文章
- Python的sorted函数应用
- svn提示服务器禁止修改目录,SVN Eclipse插件中如何忽略对服务器已有文件修改后的提交...
- 防患高通效仿华为,苹果10亿美元收购英特尔手机基带业务!打造5G备胎,加强自主可控...
- 针对Selenium环境搭建的一些小解说
- mysql 免安装 配置_图解MySQL5.7.20免安装版配置方法
- 自制串口示波器小工具
- SpringBoot集成Myabtis
- C++中,float double区别
- Form窗体的属性与值 1123
- Redis Cluster集群的搭建与实践
- 为什么程序员老在改 Bug,就不能一次改好吗?
- struts 2 时间控件
- Android Studio 编译输出中文乱码的解决办法
- 枚举——数组中的最长山脉
- 淮安市第八届计算机比赛,淮安市科学技术协会
- Codeforces 106C Buns - 多重背包 - 二进制拆分
- android sdk引入 微信分享_android 调用本地微信自定义多图分享朋友圈,可放在share sdk中一起使用...
- 计算机中专实训方案,中职学校计算机专业实训模式初探
- 共克时艰|链下思考系列之一区块链能做点什么
- 超市商品管理系统(课程设计)
热门文章
- 树莓派入门(五)—— 树莓派4B之初体验
- 五年50起并购、股价持续上扬,复盘IBM的物联网进化之路
- java的副语言_公共表达中,悄悄影响你的“副语言”
- searchEngin_设置bing国际版为默认引擎
- 蜗牛学院:中国人,努力获得了荣誉却要压抑克制
- python函数变量教程_Python 函数变量
- Collapse search results
- 已知接入Internet的计算机用户名,计算机一级笔试试题及答案(1)
- android自定义系统屏保Dream
- python s append_详细介绍pandas的DataFrame的append方法使用