当前位置: 首页 > article >正文

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

引言:
在使用MySQL数据库时,有时候我们需要删除某些记录,但是删除记录后可能会导致表中的id不再连续排序。
如何实现删除记录后让id重新排序的功能。

如图:
在这里插入图片描述
删除数据后,中间的id不会自动连续。
下面有两种方法进行重新排序:
方法一:
删除表中id,重新添加id字段:


ALTER TABLE test DROP id;
 
ALTER TABLE test ADD id int(20) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST

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

方法二:

SET @i=0;
 
UPDATE test SET `id`=(@i:=@i+1); 
 
ALTER TABLE test AUTO_INCREMENT=1;

其中:
设置变量i = 0
把表中的id字段都重新修改一遍,从1开始
设置自增值为1,防止下次插入数据发生自增字段不连续的情况
test为数据库名

修改后数据:
在这里插入图片描述


http://www.kler.cn/a/152075.html

相关文章:

  • 代码随想录算法训练营第三十八天| 509 斐波那契数 70 爬楼梯 746 使用最小花费爬楼梯
  • Windows10中在Visual Studio2017中VC++项目安装使用GoogleTest库
  • 什么是数据分析
  • Python的正则表达式使用
  • 触底加载上拉刷新
  • CentOS 7安装Java 8
  • Linux 系统渗透提权-Server2204
  • flink消费kafka限制消费速率
  • 【ARM CoreLink 系列 8.1 -- SMMU 详细介绍-STE Entry 详细介绍 1】
  • 通用plantuml模板头
  • Spring三级缓存处理循环依赖的过程
  • 10.30 作业 C++
  • 【NGINX--10】高可用性部署模式
  • 万户ezOFFICE wpsservlet任意文件上传漏洞复现
  • centos7配置tomcat
  • 阅读文献总结2023
  • CTA-GAN:基于生成对抗性网络的主动脉和颈动脉非集中CT血管造影 CT到增强CT的合成技术
  • MySQL 大表设计
  • Echarts 柱状图添加标记 最大值 最小值 平均值
  • 【开题报告】基于SpringBoot的在线打印预约系统的设计与实现