一张自增表里面总共有 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。

相关推荐
网管NO.16 分钟前
SQL 模糊查询 + NULL 空值。LIKE 通配符 % 和_、IS NULL
数据库
Mr. zhihao7 分钟前
Redis 内存管理深度解析:过期删除与内存淘汰策略
数据库·redis·缓存
九皇叔叔8 分钟前
高斯性能分析【第一天】单表执行计划分析
java·数据库·性能分析·执行计划·gauss
難釋懷21 分钟前
Redis内存回收-过期key处理
数据库·redis·缓存
KaMeidebaby21 分钟前
卡梅德生物技术快报|PROTAC 药物降解蛋白原理及数据库平台开发全流程
前端·数据库·其他·百度·新浪微博
是码龙不是码农30 分钟前
数据库主键选型:为什么别用自增 ID?
java·数据库
IpdataCloud35 分钟前
企业IT管理中,如何通过IP地址查询定位快速溯源异常终端?用IP离线库实现
服务器·网络·数据库·tcp/ip
罗超驿40 分钟前
20.MySQL事务隔离级别示例详解(脏读、不可重复读、幻读)
java·数据库·mysql·面试
独泪了无痕1 小时前
MySQL中 JSON 数据类型使用指南
mysql
钝挫力PROGRAMER2 小时前
实战经验:如何修复 MariaDB 因 InnoDB 损坏导致的启动失败 (status=6/ABRT)
数据库·mariadb