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

相关推荐

2025-12-16 21:41
长沙理工大学 Java
程序员牛肉:就是标准的NPC简历,你平时刷牛客的话就知道你这种普通学历+两个项目的简历一抓一大把。 后面海投找实习+想办法给自己简历找亮点
实习简历求拷打
点赞 评论 收藏
分享
2025-11-11 16:40
已编辑
门头沟学院 人工智能
不知道怎么取名字_:这个有点不合理了,相当于已经毕业了,但还是没转正,这不就是白嫖
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务