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为数据库名

修改后数据:

相关推荐
深圳市恒讯科技22 分钟前
如何在服务器上安装和配置数据库(如MySQL)?
服务器·数据库·mysql
员大头硬花生1 小时前
七、InnoDB引擎-架构-后台线程
java·数据库·mysql
IT教程资源C1 小时前
(N_151)基于微信小程序校园学生活动管理平台
mysql·vue·前后端分离·校园活动小程序·springboot校园活动
Tadas-Gao2 小时前
MySQL存储架构解析:从数据无序到索引艺术的演进
数据库·分布式·mysql·微服务·云原生·架构
许愿OvO6 小时前
MySQL触发器
android·mysql·adb
lcanfly7 小时前
Mysql作业4
数据库·mysql
蓝象_8 小时前
docker安装配置mysql
mysql·docker·容器
lcanfly9 小时前
Mysql作业5
android·数据库·mysql
许愿OvO11 小时前
MySQL-索引
数据库·mysql
-指短琴长-11 小时前
MySQL快速入门——基本查询(上)
android·数据库·mysql