自动更新唯一ID

时间:2013-03-09 18:02:46

标签: php mysql database auto-increment

我有一个列'id'的表,其中包含auto_increment。

因此,例如,当我添加新记录时,它将为其分配一个数字。

但我需要的是一种可以改变记录顺序的方法,例如db中有48条记录,我希望记录29的id为5而不是29.所以有没有办法记录29替换5并且他们全部向上移动一个所以5现在将记录6等?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您需要自己分配ID,请不要使用自动增量列。

一个单独的问题是对数据库表中的记录进行重新编号,是的,这可以通过有序的更新查询来完成。

首先,您将清除新记录5的空间:

UPDATE table SET id=id+1 WHERE id > 4 ORDER BY id DESC

然后你会重新编号记录29

UPDATE table SET id=5 WHERE id = 29
相关问题