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值重启后丢失的问题。
MySQL innodb表的自增变量的值是内存中的临时值,在MySQL重启后就会丢失,MySQL重启时该值以当前表中自增字段的最大值确定下次自增值;
MySQL的这个问题,无形中给业务埋下了坑,某些业务依赖自增ID来生成唯一值,当删除一些记录并重启MySQL后,新生成的ID可能与之前的ID有重复,导致ID冲突,因此任何依赖于auto_increment 值的业务逻辑,都需要慎重,要充分了解MySQL auto_increment的实现方式,避免踩坑;
您好,这些大概我知道,就是我描述的问题,innodb以当前表中自增字段的最大值确定下次自增值,那是不是以21开始呢
相关推荐
11-11 14:21
西京学院 C++ 点赞 评论 收藏
分享