一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 mysql 数据库,又插入了一条数据,此时 id 是几?

让我们再次通过步骤来解答这个问题。

假设你的表是一个自增表,并且表中原本有7条数据,id从1递增到7。

  1. 删除最后2条数据

    当你执行删除操作,比如 DELETE FROM my_table WHERE id IN (6, 7);,表中剩下的数据id将是1到5。但是,MySQL的自增计数器(AUTO_INCREMENT值)不会自动减少。在删除这两条记录之前,最后插入的记录的id是7,因此自增计数器的下一个值将是8。

  2. 重启MySQL数据库

    重启MySQL数据库不会重置AUTO_INCREMENT值。自增计数器保持为上一次操作结束时的值,即8。

  3. 插入一条新数据

    当你插入一条新记录时,MySQL将使用当前的AUTO_INCREMENT值(8)作为新记录的id,并将自增计数器增加到9,为下一次插入做准备。

因此,在删除最后两条数据、重启MySQL数据库并插入一条新数据之后,新插入的数据的id将是8。

总结:在这种情况下,插入新数据后的id是8。

相关推荐
tokepson1 小时前
Mysql下载部署方法备份(Windows/Linux)
linux·服务器·windows·mysql
nbsaas-boot3 小时前
SQL Server 存储过程开发规范(公司内部模板)
java·服务器·数据库
zgl_200537793 小时前
ZGLanguage 解析SQL数据血缘 之 Python + Echarts 显示SQL结构图
大数据·数据库·数据仓库·hadoop·sql·代码规范·源代码管理
acaad3 小时前
Redis下载与安装(Windows)
数据库·redis·缓存
玄〤3 小时前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
SunflowerCoder4 小时前
EF Core + PostgreSQL 配置表设计踩坑记录:从 23505 到 ChangeTracker 冲突
数据库·postgresql·c#·efcore
短剑重铸之日4 小时前
《7天学会Redis》Day2 - 深入Redis数据结构与底层实现
数据结构·数据库·redis·后端
Zoey的笔记本5 小时前
「支持ISO27001的GTD协作平台」数据生命周期管理方案与加密通信协议
java·前端·数据库
什么都不会的Tristan5 小时前
MybatisPlus-扩展功能
数据库·mysql
超级种码5 小时前
Redis:Redis 数据类型
数据库·redis·缓存