作為一個強迫癥患者,對于表格內某些行刪除之后,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;
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。