时间:2022-03-16 09:50:57 | 栏目:Mysql | 点击:次
作为一个强迫症患者,对于表格内某些行删除之后,id不连续这个问题完全无法容忍,一开始使用
TRUNCATE TABLE tablename
来实现id从头自增,但是这个命令同时也会清空整个表,真的是坑爹啊。
alter table tablename auto_increment = 1;
这个命令不会改动现有的表的内容和顺序,同时新插入行的id会先使用已删除的id,完美填补空缺id。
从excel中导入大量数据到mysql,自增id没有按顺序自增,中间有很多跳过了,由于数量巨大,不想重新导入
按照id或者时间按从小到大排序==>获取行号==>用行号替换原来的id
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;