Duplicate entry ‘XXX‘ for key ‘XXX.PRIMARY‘解决方案。

这篇具有很好参考价值的文章主要介绍了Duplicate entry ‘XXX‘ for key ‘XXX.PRIMARY‘解决方案。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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语句(真正的删除),而不是逻辑删除,同时后端用逻辑判断,去查询数据库中是否有相同的编号存在,如果存在,则不允许新增,如果不存在,则可以新增文章来源地址https://www.toymoban.com/news/detail-429514.html

到了这里,关于Duplicate entry ‘XXX‘ for key ‘XXX.PRIMARY‘解决方案。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 报错Duplicate entry ‘值‘ for key ‘字段名‘的解决解决方法

    遇到这种问题, 是你的数据库表那个字段设置了唯一索引。所以这个字段新增的数据不能重复。具体可以打开表,然后点击表设置,具体教程可以看下文章最后 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry \\\'测试\\\' for key \\\'teacher.uk_name\\\'     at

    2023年04月13日
    浏览(44)
  • mysql报错:Duplicate entry ‘...‘ for key ‘field‘

    错误信息 \\\"Duplicate entry \\\'...\\\' for key \\\'field\\\'\\\" 表示在数据库表中,你正在尝试插入一条数据的\\\'number\\\'字段的值已经存在。这通常是由于你设置了\\\'field\\\'字段为唯一键(UNIQUE KEY),而你又尝试插入一个已存在的值。 解决这个问题的方法有以下几种: 检查输入的数据 :确保你插入的数

    2024年02月06日
    浏览(32)
  • mysql报错 之 报错:Duplicate entry 字段 for key ‘表名.idx_字段’

    Mysql 进行insert 操作,报错:Duplicate entry 字段 for key ‘表名.idx_字段’ 原因解析:idx 是做的索引键,是具有唯一性 当 mysql中报错 Duplicate entry 字段 for key ‘表名.idx_字段’ 就是代表字段不对,索引字段重复 主键重复 唯一键重复 修改重复的字段,重新进行insert

    2024年04月26日
    浏览(26)
  • Dockerfile: unable to find user xxx : no matching entries in passwd file解决方案

    在制作Docker镜像的过程中,完成软件安装等操作后,一般会切换为普通用户启动相应的服务,就需要用到 USER 指令。但有时候这个指令会报错: docker: Error response from daemon: unable to find user : no matching entries in passwd file. 如果遇到这个问题,可以在使用 USER 指令之前,先创建用户

    2024年02月09日
    浏览(60)
  • 详细解决java中的Collectors.toMap引起的java.lang.IllegalStateException: Duplicate key xxx 的错误

    今天,测试在禅道上给我指出一个正式环境 bug ,如下图所示: 即 java.lang.IllegalStateException: Duplicate key 2 。 根据 java.lang.IllegalStateException: Duplicate key 2 可知,这是 java 抛出的存在 2个重复键 的错误。 如果想要弄清楚错误原因,通过如下几个步骤分析: 首先,看到这个错误信息

    2024年01月19日
    浏览(46)
  • 记一次pip下载包报错ERROR: No matching distribution found for xxx时的解决方案

    前言 当我们使用python自带的pip安装一些包时,可能会报以下错误: 出现这种情况有三种可能: 第一种可能: pip的版本过低,需要升级一下,可以执行以下命令进行尝试 第二种可能: 考虑可能是网速的原因,这时可以采用国内的镜像源来加速 第三种可能: 检查下是否开启

    2024年02月11日
    浏览(49)
  • android 出现Duplicate class 报错时 解决方案

    可以选择直接复制 我的标题 然后sync 就ok了 android.useAndroidX=true 表示“Android插件会使用对应的AndroidX库,而非Support库”; 未设置时默认为false; android.enableJetifier=true 表示Android插件会通过重写其二进制文件来自动迁移现有的第三方库,以使用AndroidX依赖项;未设置时默认为f

    2024年02月05日
    浏览(30)
  • 在提交文件到gitee远程仓库时报用户名密码错误 fatal: Authentication failed for ‘https://gitee.com/xxx/xxx.git 解决方案来啦 亲测有效

    在提交文件到gitee远程仓库时,突然出现一个弹框输入用户名 密码 很懵逼 输入了结果是错误的 D:文件名git push -u origin \\\"master\\\" remote: [session-fa417d86] Akiko: Incorrect username or password (access token) fatal: Authentication failed for \\\'https://gitee.com/xxx/文件名.git/\\\'      此刻如果再提交一遍 还是会

    2024年02月16日
    浏览(46)
  • dynamic-datasource Please check the setting of primary解决方案

    报这个错的原因是数据库使用多数据源没有指定主数据源导致的错误。  解决方法如图所示,通过配置指定dynamic的primary指定主数据库的配置 切记箭头两处的名称一样

    2024年02月13日
    浏览(40)
  • Redis生产实战-热key、大key解决方案、数据库与缓存最终一致性解决方案

    热 key 问题就是某一瞬间可能某条内容特别火爆,大量的请求去访问这个数据,那么这样的 key 就是热 key,往往这样的 key 也是存储在了一个 redis 节点中,对该节点压力很大 那么对于热 key 的处理就是通过热 key 探测系统对热 key 进行计数,一旦发现了热 key,就将热 key 在 jv

    2024年02月05日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包