0

我有一个表,其中有一列“id”,其中有 auto_increment。

因此,例如,当我添加一条新记录时,它会为其分配一个编号。

但我需要的是一种可以更改记录顺序的方法,例如数据库中有 48 条记录,我希望记录 29 的 id 为 5 而不是 29。那么有没有办法让记录 29 替换5 并且他们都向上移动一个,所以 5 现在将是记录 6 等等?

谢谢!

4

1 回答 1

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
于 2013-03-09T18:17:06.033 回答