当前位置:网站首页>Duplicate entry ‘XXX‘ for key ‘XXX.PRIMARY‘解决方案。
Duplicate entry ‘XXX‘ for key ‘XXX.PRIMARY‘解决方案。
2022-08-02 02:46:00 【m0_67403013】
mysql insert时报错:Duplicate entry ‘XXX’ for key ‘XXX.PRIMARY’
今天在插入数据时,出现一个错误
com.jfinal.plugin.activerecord.ActiveRecordException:
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:
Duplicate entry 'xxxxxx' for key 'xxxx.PRIMARY'
网上查看说是主键冲突了,但是查看数据库并没有,把所有数据清空,或者把表删了之后,在重新建也还是报同样的错。
…
…
…
最后的结果方案:
- 方案一:设置主键自增,适合主键为int类型(我的主键是varchar)
- 方案二:把insert into 表名() values();修改为:insert ignore into 表名() values(); (问题解决)
MySQL 提供了Ignore 用来避免数据的重复插入.
IGNORE :
若有导致unique key 冲突的记录,则该条记录不会被插入到数据库中.
MySQL INSERT IGNORE 详解请移步:MySQL INSERT IGNORE
原因:这是由于表中对应字段设置了唯一索引,在我们进行逻辑删除时,并没有真正的删除,只是标记为删除状态而已,
当我们再进行新增的时候,由于有唯一索引的限制,导致我们不能进行新增成功,所以报错.
解决方法1:
如果允许的话,把数据库中该字段的唯一索引限制去掉,这样后端可以进行逻辑删除,新增时即使与标记为删除的记录的字段值相等,由于没有唯一索引的限制,可以正常新增
解决方法2:
不需要去掉数据库中的唯一索引限制,但是当后端开发进行删除操作的时候,执行的是物理删除的sql语句(真正的删除),而不是逻辑删除,同时后端用逻辑判断,去查询数据库中是否有相同的编号存在,如果存在,则不允许新增,如果不存在,则可以新增
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 2022.8.1-----leetcode.1374
- FOFAHUB使用测试
- Nacos源码分析专题(二)-服务注册
- Moonbeam and Project integration of the Galaxy, bring brand-new user experience for the community
- 数仓:数仓从ETL到ELT架构的转化以及俩者的区别
- 【LeetCode】83.删除排序链表中的重复元素
- Curriculum Vitae;CV
- EFCore 反向工程
- The principle and code implementation of intelligent follower robot in the actual combat of innovative projects
- 启发式合并、DSU on Tree
猜你喜欢

BioVendor人俱乐部细胞蛋白(CC16)Elisa试剂盒研究领域

The state status is displayed incorrectly after the openGauss switch

第11章_数据库的设计规范

Nanoprobes丨1-巯基-(三甘醇)甲醚功能化金纳米颗粒

Safety (2)

工程师如何对待开源

AI target segmentation capability for fast video cutout without green screen

Lombok

记一次gorm事务及调试解决mysql死锁

【web】Understanding Cookie and Session Mechanism
随机推荐
aws s3 upload file
KICAD 拉线宽度无法修改,解决方法
ros多客户端请求服务
789. 数的范围
Chapter 7 Noise analysis
使用DBeaver进行mysql数据备份与恢复
数仓:为什么说 ETL 的未来不是 ELT,而是 EL (T)
CASE2023
【LeetCode】83.删除排序链表中的重复元素
Lombok
Safety (1)
【Unity入门计划】2D Game Kit:初步了解2D游戏组成
1688API
Reflex WMS Intermediate Series 7: What should I do if I want to cancel the picking of an HD that has finished picking but has not yet been loaded?
JS中获取对象数据类型的键值对的键与值
Good News | AR opens a new model for the textile industry, and ALVA Systems wins another award!
架构:应用架构的演进以及微服务架构的落地实践
GTK RGB图像绘制
Recursively check if a configuration item has changed and replace it
数值积分方法:欧拉积分、中点积分和龙格-库塔法积分