mysql中删除数据后,新增数据时id会跳跃,主键自增id不连续

引言:

在使用MySQL数据库时,有时候我们需要删除某些记录,但是删除记录后可能会导致表中的id不再连续排序。

如何实现删除记录后让id重新排序的功能。

如图:

删除数据后,中间的id不会自动连续。

下面有两种方法进行重新排序:
方法一:

删除表中id,重新添加id字段:

java 复制代码
ALTER TABLE test DROP id;
 
ALTER TABLE test ADD id int(20) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST

其中,first表示将id字段放到第一个位置,test为数据库名

方法二:

java 复制代码
SET @i=0;
 
UPDATE test SET `id`=(@i:=@i+1); 
 
ALTER TABLE test AUTO_INCREMENT=1;

其中:

设置变量i = 0

把表中的id字段都重新修改一遍,从1开始

设置自增值为1,防止下次插入数据发生自增字段不连续的情况

test为数据库名

修改后数据:

相关推荐
斯内普吖10 小时前
(开源)校园充电宝租借管理系统实战指南 基于 Java + SSM + Vue + MySQL
java·vue.js·mysql·开源
啵啵啵鱼11 小时前
对数据的增删改查
数据库·mysql·ai·idea·ai编程·navicat·obsidian
靠沿11 小时前
MySQL数据库基础——索引的使用&alter、explain关键字
java·数据库·mysql
Mortalbreeze11 小时前
MySQL 基础篇(八):复合查询之多表查询、内外连接、子查询
数据库·mysql
Xxtaoaooo11 小时前
NocoDB在线表格数据库:fnOS部署、MySQL可视化与远程协作实操
数据库·mysql·docker·cpolar·nocodb
小白快快跑哦12 小时前
python-字符串全解(六):正则表达式-分组
python·mysql·正则表达式·分组
高级程序源20 小时前
django校园寻物通失物招领平台32261-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·django·flask·课程设计
KIDULT°20 小时前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
牛战士coding21 小时前
MySQL 读写分离完整链路:主从复制、多数据源与 @DS 路由
数据库·mysql
我不会插花弄玉1 天前
7.函数【由浅入深-MySQL】
android·数据库·mysql