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'

网上查看说是主键冲突了,但是查看数据库并没有,把所有数据清空,或者把表删了之后,在重新建也还是报同样的错。



最后的结果方案:

  1. 方案一:设置主键自增,适合主键为int类型(我的主键是varchar)
  2. 方案二:把insert into 表名() values();修改为:insert ignore into 表名() values(); (问题解决)

MySQL 提供了Ignore 用来避免数据的重复插入.
IGNORE :
若有导致unique key 冲突的记录,则该条记录不会被插入到数据库中.

MySQL INSERT IGNORE 详解请移步:MySQL INSERT IGNORE

原因:这是由于表中对应字段设置了唯一索引,在我们进行逻辑删除时,并没有真正的删除,只是标记为删除状态而已,
当我们再进行新增的时候,由于有唯一索引的限制,导致我们不能进行新增成功,所以报错.
解决方法1:
如果允许的话,把数据库中该字段的唯一索引限制去掉,这样后端可以进行逻辑删除,新增时即使与标记为删除的记录的字段值相等,由于没有唯一索引的限制,可以正常新增
解决方法2:
不需要去掉数据库中的唯一索引限制,但是当后端开发进行删除操作的时候,执行的是物理删除的sql语句(真正的删除),而不是逻辑删除,同时后端用逻辑判断,去查询数据库中是否有相同的编号存在,如果存在,则不允许新增,如果不存在,则可以新增

Duplicate entry ‘XXX‘ for key ‘XXX.PRIMARY‘解决方案。相关推荐

  1. 执行SQL语句的时候唯一约束字段异常Duplicate entry '33382-1-0' for key xxx

    前言:做项目的时候,执行SQL语句报了Duplicate entry '33382-1-0' for key xxx异常,后来发现是唯一约束导致,于是乎一通谷歌百度,后来解决了,记录一下. 正文: 代 ...

  2. 报错:pymysql.err.IntegrityError: (1062, “Duplicate entry ‘1‘ for key ‘mm.PRIMARY‘“)

    1.报错 pymysql.err.IntegrityError: (1062, "Duplicate entry '1' for key 'mm.PRIMARY'") 因为插入的主 ...

  3. Java java.sql.SQLIntegrityConstraintViolationException:Duplicate entry ‘xx‘ for key ‘xx.PRIMARY‘问题解决

    问题描述: Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '111' for key 'users ...

  4. Duplicate entry ‘1‘ for key ‘user.PRIMARY‘

    org.springframework.dao.DuplicateKeyException: Error updating database. Cause: java.sql.SQLIntegrity ...

  5. MySQLIntegrityConstraintViolationException: Duplicate entry ‘10xxxx-50xxxx‘ for key ‘xxx‘

    mysql异常: ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Dupl ...

  6. 关于数据表中插入数据报错(pymysql.err.IntegrityError) (1062, “Duplicate entry ‘0112‘ for key ‘‘teacher.PRIMARY‘“)

    文章目录 1.错误截图: 2.错误解决方案: 1.错误截图: 2.错误解决方案: 数据库的teacher表中已经存在了该数据.执行下面的操作会将报上面的错误. 在设置id和username属性的时候, ...

  7. MySQL报错:Duplicate entry ‘xxx‘ for key ‘xxx‘

    报错信息: Duplicate entry 'xxx' for key 'xxx' 看到这个报错,我心想不就是主键的值重复了吗,可是查看对应的数据库表之后傻眼了,发现压根没有uk_cert_no这个字 ...

  8. 解决Duplicate entry ‘XXX‘ for key ‘XXX‘

    Duplicate entry 'XXX' for key 'XXX',表示插入的值在表中有重复的数据.这个key是唯一索引,要么取消唯一索引,要么在后端判断是否已存在这个数据,如果有把它挡住,不让它 ...

  9. 插入数据时出现Duplicate entry ‘XXX‘ for key ‘XXX‘

    Duplicate entry 'XXX' for key 'XXX',表示插入的值在表中有重复的数据.这个key是唯一索引,要么取消唯一索引,要么在后端判断是否已存在这个数据,如果有把它挡住,不让它 ...

最新文章

  1. HDU 2717 Catch That Cow(BFS)
  2. Mysql笔记2-----重要小点
  3. 2021年全新各方向IT职业技能图谱
  4. 解决ie7不支持after、before的方法
  5. [Python图像处理] 十九.图像分割之基于K-Means聚类的区域分割
  6. 浅谈SAP Cloud for Sales 自动化
  7. python那些事儿编程技巧_python一些编程技巧(持续更新)
  8. 全民直播,半年“用云量”暴涨五倍
  9. Jmeter系列之常用组件(二)
  10. 坑了我一个小时的脚本执行
  11. python编程资料包_强力推荐,非常全的Python编程400集学习资料(今日限免)
  12. 十八、JAVA基本数据类型的包装类
  13. carrot2 Workbench org.apache.http.client.HttpResponseException: Not Found 以及其他类找不到错误的解决办法
  14. selenium chromedriver 下载地址
  15. 打印纸张计算机耗材,耗材相关:与打印机产生故事的常用纸类型
  16. Intellij IDEA误删文件恢复
  17. 程序化交易系统的搭建
  18. echarts3D地球
  19. Cannot save setting
  20. TextRank算法原理简析、代码实现

热门文章

  1. 所需即所获:IDE = _plugins_ + vim
  2. 设备管理器的蓝牙设备卸载了,找不到蓝牙
  3. win7系统如何关闭广告弹窗操作方法教学
  4. 数据库 Table is marked as crashed and should be repaired 解决办法
  5. 火遍全世界的网红美女李子柒一年能赚多少钱,数据量化给你看,连中央媒体都为她打call...
  6. css情景动画,css3中的动画属性animation应用场景及编写代码教程
  7. Java基于ssm的大学生社团管理系统 计算机毕业设计
  8. android string 原理,Android中的SpannableString,Spans以及TextView绘制原理
  9. 手机互联网的一点看法
  10. [nRF51822] 1、一个简单的nRF51822驱动的天马4线SPI-1.77寸LCD彩屏DEMO