新增数据的时候报Integrity constraint violation
- 报错信息, 该问题我已经解决, 但是不明白为什么会出现这种问题:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '6660' for key 'PRIMARY mysql版本:5.7- 通过
show create table ***看到问题所在:- 建表语句中的
auto_increment的值为6660, 但是该数据表中的目前id字段的最大值为6695 - 表中已经存在了
6660这条记录, 所以在插入的时候报错了, 我手动修改了auto_increment的值之后就解决了
- 建表语句中的
- 所以有大哥们知道为啥会出现这种情况吗?
关于 LearnKu
有没有可能是这张表涉及事务,事务回滚导致字增id已经生成。回滚后,这条记录删除。
可能是在那个位置直接指定了主键的值作添加
好像只有直接修改主键数值才会出现这种情况。
刚看到别的帖子搜了搜,不过不推荐用
REPLACE INTO还有和这个差不多的INSERT ON DUPLICATE KEY UPDATE,产生死锁的几率较高。