重写mysql表,相邻行之间没有大洞

时间:2016-03-16 15:26:39

标签: mysql

我有带有id, name, someInt, otherInt列的MySQL表。在多次删除之后,我有相邻行的id的大洞。我怎么能改写我的数据库来解决这个问题?

例如:

id      name       someInt    otherInt
1       Michel     7          9
2       John       12         3
5       Peter      5          6
9       George     20         21

id      name       someInt    otherInt
1       Michel     7          9
2       John       12         3
3       Peter      5          6
4       George     20         21

1 个答案:

答案 0 :(得分:-1)

一个就是这个。它还将AUTO_INCREMENT设置为下一个空闲Nr。

SET @num := 0;
UPDATE tblName SET id = @num := (@num+1);
ALTER TABLE tblName AUTO_INCREMENT = 1;