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

修改后数据:

相关推荐
老师我太想进步了20263 小时前
cmd连接MySQL及相关查询
数据库·mysql
小雪_Snow8 小时前
Windows 安装 MySQL 8.0 教程【安装包方式】
数据库·mysql
无敌的牛8 小时前
MySQL初阶
数据库·mysql
不会C++的雾9 小时前
Linux操作系统(2)
linux·数据库·mysql
我星期八休息10 小时前
MySQL数据可视化实战指南
数据库·人工智能·mysql·算法·信息可视化
五阿哥永琪11 小时前
MySQL面试题 事务的隔离级别
数据库·mysql
不染尘.11 小时前
Linux的rpm与yum
linux·mysql·jdk·centos·tomcat·ssh
妄汐霜12 小时前
小白学习笔记(MySQL基础中其他知识)
笔记·学习·mysql
jay神12 小时前
基于Java的水果网上订购平台
java·mysql·vue·springboot·计算机毕业设计
liux352813 小时前
从零开始学MySQL:入门基础篇(一)
数据库·mysql·oracle