我有一个表'id',其上有auto_increment。自动更新唯一标识号
因此,例如,当我添加一条新记录时,它会为其分配一个数字。
但我需要的是一种方式,我可以改变记录的顺序,所以例如在数据库中有48条记录,我希望记录29的ID为5而不是29。记录29取代5,并为他们所有提高一个,所以5现在会记录6等?
谢谢!
我有一个表'id',其上有auto_increment。自动更新唯一标识号
因此,例如,当我添加一条新记录时,它会为其分配一个数字。
但我需要的是一种方式,我可以改变记录的顺序,所以例如在数据库中有48条记录,我希望记录29的ID为5而不是29。记录29取代5,并为他们所有提高一个,所以5现在会记录6等?
谢谢!
如果您需要自己分配ID,请不要使用自动增量列。
另一个问题是重新编号数据库表中的记录,是的,这可以通过一个有序的更新查询来完成。
首先你会清除空间的新纪录5这样的:
UPDATE table SET id=id+1 WHERE id > 4 ORDER BY id DESC
,那么你会重新编号记录29从而
UPDATE table SET id=5 WHERE id = 29
你说的***自动更新意味着* **?转移这些记录的规则究竟是什么?前进怎么样? – Kermit 2013-03-09 18:06:37
您是否仍然想要自动增量ID或您是否想要始终分配ID? – stark 2013-03-09 18:12:20
我的意思是,如果当添加或更改记录唯一的'id'到已存在的记录时,它会自动移动它正在替换的一个和它上面的那个 – tech292 2013-03-09 18:13:15