我有一个列'id'的表,其中包含auto_increment。
因此,例如,当我添加新记录时,它将为其分配一个数字。
但我需要的是一种可以改变记录顺序的方法,例如db中有48条记录,我希望记录29的id为5而不是29.所以有没有办法记录29替换5并且他们全部向上移动一个所以5现在将记录6等?
谢谢!
答案 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