mysql设置了唯一约束之后插入相同数据失败但自增ID还是会+1?

新手上路,请多包涵

mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的?

阅读 3.5k
2 个回答

你设置了auto_increment,操作失败后,它分配的自增是缓存在内存字典里的,要么你就更新auto_increment缓存,或者直接修改表数据的 auto_increment的最大数。

如果不使用自增长,就每次查询这张表id最大的值,然后手动+1再插入

建表的时候,存储引擎不要设置成InnoDB,设置成MyISAM,试试。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题