• 售前

  • 售后

热门帖子
入门百科

mysql id从1开始自增 快速办理id不连续的问题

[复制链接]
123456819 显示全部楼层 发表于 2021-8-14 15:07:43 |阅读模式 打印 上一主题 下一主题
mysql id从1开始自增 解决id不连续

作为一个陵暴症患者,对于表格内某些行删除之后,id不连续这个问题完全无法容忍,一开始使用
  1. TRUNCATE TABLE tablename
复制代码
来实现id从头自增,但是这个下令同时也会清空整个表,真的是坑爹啊。
后面才发现了精确的做法:
  1. alter table tablename auto_increment = 1;
复制代码
这个下令不会改动现有的表的内容温顺序,同时新插入行的id会先使用已删除的id,完美弥补空缺id。
mysql自增id跳跃解决(不删除数据)

问题形貌:

从excel中导入大量数据到mysql,自增id没有按顺序自增,中间有许多跳过了,由于数量巨大,不想重新导入
解决思绪:

按照id或者时间按从小到大排序==>获取行号==>用行号替换原来的id
sql语句:
  1. update tab as t1 join (select id,(@rowno:=@rowno+1) as rowno from tab a,(select (@rowno:=0)) b order by a.id) as t2 SET t1.id=t2.rowno WHERE t1.id=t2.id;
复制代码
以上为个人经验,希望能给各人一个参考,也希望各人多多支持草根技术分享。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作