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

修改后数据:

相关推荐
·云扬·2 小时前
【MySQL】实战:用pt-table-sync修复主从数据一致性问题
数据库·mysql·ffmpeg
swIn KWAL3 小时前
【MySQL】环境变量配置
数据库·mysql·adb
shark22222223 小时前
【JOIN】关键字在MySql中的详细使用
数据库·mysql
RATi GORI3 小时前
MySQL中的CASE WHEN语句:用法、示例与解析
android·数据库·mysql
r_oo_ki_e_7 小时前
快速复习mysql
数据库·mysql
羊小蜜.8 小时前
Mysql 03: 连接查询全解——内连接、外连接与复合条件查询
数据库·mysql·算法·连接查询
Java水解8 小时前
【MYSQL】MYSQL学习的一大重点:MYSQL数据类型
后端·mysql
polaris06308 小时前
完美解决phpstudy安装后mysql无法启动
数据库·mysql
笑梦无境9 小时前
mysql基础篇四(多年前整理)
数据库·mysql
yy55279 小时前
Mysql 主从复制与读写分离
android·数据库·mysql