mysql表中ID自增主键 删除数据后 在重启 ID会发生变化吗

问题描述:一张表里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把mysql重启,再insert一条记录,这条记录的ID是18还是15

mysql8.0之前:

使用InnoDB存储引擎,如果新增一条记录(不重启mysql的情况下),这条记录的id是18;但是如果重启MySQL的话,这条记录的ID是15。因为InnoDB表只把自增主键的最大ID记录到内存中,所以重启数据库或者对表OPTIMIZE操作,都会使最大ID丢失。

如果我们使用表的类型是MylSAM,那么这条记录的ID就是18。因为MylSAM表会把自增主键的最大ID记录到数据文件里面,重启MYSQL后,自增主键的最大ID也不会丢失。


mysql8.0:InnoDB存储引擎和MylSAM存储引擎都自增主键的最大ID不会丢失

原因:https://blog.csdn.net/liuxl57805678/article/details/107930496

猜你喜欢

转载自blog.csdn.net/liuxl57805678/article/details/107930797