Mysql重启后,自增ID从几开始?

一、问题背景

在mysql中用自增列作为主键时,先往表里插入5条数据,此时表里数据id为1、2、3、4、5,如果此时删除id=4、5的数据后,再重启数据库,重启成功后向表里插入数据的时候,innodb、myisam引擎下ID分别是从几开始增加?

二、使用InnoDB引擎

  1. 在mysql 8.0版本之前,表的自增列变量 auto_increment计数器会把值存放在内存中,不会写入磁盘。一旦 MySQL 服务重启,这个值就丢了。InnoDB 引擎会根据表中现有的数据重新计算该计数器的值:获取表中最大的自增主键 ID 作为auto-increment 计数器的最大计数。针对上述问题,重启后ID是从4开始。
  2. 在mysql 8.0版本之后,每当计数器的值有变,InnoDB 会将其写入 redo log,保存到引擎专用的系统表中。重启后,会延续递增,而不是重置。

三、使用MyIsam引擎

自增ID保存在数据文件中,重启后会延续递增。

posted @   翊梦  阅读(375)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示