首页 > 其他 > 详细

记录一次DELETE操作报错Duplicate entry for key 'PRIMARY'

时间:2020-07-16 19:38:01      阅读:147      评论:0      收藏:0      [点我收藏+]

业务逻辑中有一个删除操作,其中有两条数据删除时报错Duplicate entry ‘xxx’ for key ‘PRIMARY‘

技术分享图片

 

 乍一看觉得不可思议,因为没有听说过DELETE语句会报错重复主键的,都是在INSERT和UPDATE语句时就会报错

去表里SELECT 查询了一下,只有一条数据,直接在库里执行DELETE语句,一样报错

技术分享图片

 

 百度了一圈,没啥收获

最后经过同事协助排查,发现由于该表设置了触发器导致的

技术分享图片

 

 由于之前有两张copy的备份表,三张表都设置了DELETE的触发器,会在删除数据时向同一张history表写数据,因此在备份表删过的数据会在history表里已经有了,且主键ID相同,因此删除另一张表里同一条数据时会报错Duplicate entry for key ‘PRIMARY‘。。。。(Mysql的报错提示要是能区分开就好了)

记录一次DELETE操作报错Duplicate entry for key 'PRIMARY'

原文:https://www.cnblogs.com/ruozhu/p/13324121.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!