mysql:当插入20条数据,删除第4,5,6条数据,重启后,myisam是从21开始插入,innodb是从18开始(第7-20会变为4-17吗),还是先补充4,5,6呢,亦或是还是从21开始呢?
全部评论
MySQL自增变量auto_increment值重启后丢失,只适用于innodb表,myisam表并不会丢失。 MySQL 8.0 修复了auto_increment值重启后丢失的问题。
点赞 回复 分享
发布于 2020-12-07 16:55
MySQL innodb表的自增变量的值是内存中的临时值,在MySQL重启后就会丢失,MySQL重启时该值以当前表中自增字段的最大值确定下次自增值; MySQL的这个问题,无形中给业务埋下了坑,某些业务依赖自增ID来生成唯一值,当删除一些记录并重启MySQL后,新生成的ID可能与之前的ID有重复,导致ID冲突,因此任何依赖于auto_increment 值的业务逻辑,都需要慎重,要充分了解MySQL auto_increment的实现方式,避免踩坑;
点赞 回复 分享
发布于 2020-12-07 16:56
您好,这些大概我知道,就是我描述的问题,innodb以当前表中自增字段的最大值确定下次自增值,那是不是以21开始呢
点赞 回复 分享
发布于 2020-12-07 17:24

相关推荐

11-11 14:21
西京学院 C++
无敌混子大王:首先一点,不管学校层次怎么样,教育经历放在第一页靠上位置,第一页看不到教育经历,hr基本直接扔掉了
点赞 评论 收藏
分享
头像
11-18 16:08
福州大学 Java
影流之主:干10年不被裁,我就能拿别人一年的钱了,日子有盼头了
点赞 评论 收藏
分享
评论
3
收藏
分享
牛客网
牛客企业服务