比如現(xiàn)在有一張表,id自增。一共有100條數(shù)據(jù),當(dāng)從50條開始刪除2條,80條的地方刪除2條怎么讓id恢復(fù)連續(xù)?關(guān)注 | 1收藏
1 回答

函數(shù)式編程
TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
看你需求,因?yàn)橐话愕淖栽鰅d都是有關(guān)聯(lián)其它表的,這樣強(qiáng)行恢復(fù)連續(xù)自增的話是災(zāi)難 如果無視需求,兩個(gè)辦法: 1 刪除自增字段,然后重建 2 通過sql語句按順序重置自增字段值ALTER TABLE `tablename` DROP COLUMN `id`;ALTER TABLE `tablename` ADD `id` int(10) unsigned NOT NULL AUTO_INCREMENT FIRST,ADD PRIMARY KEY (`id`), AUTO_INCREMENT = 0 ROW_FORMAT = COMPACT;
SET @i=0;UPDATE `tablename` SET `id`=(@i:=@i+1);ALTER TABLE `tablename` AUTO_INCREMENT=0;
添加回答
舉報(bào)
0/150
提交
取消