在现有行上插入行,向下移动行

时间:2013-08-12 08:36:21

标签: sql

我正在尝试在sql表的中间插入一个新行,并首先移动所有其他行以为其腾出空间。

我试过了 setting id=id+1, 但是这显然给了我一个错误(显然)因为行id+1已经存在,所以这只适用于向另一个方向移动id=id-1.

那么正确的解决方案是什么?

2 个答案:

答案 0 :(得分:1)

要做的事情,你应该从最后更新你的表:

UPDATE `table` SET `id`=`id`+1 WHERE `id`>$value ORDER BY `id` DESC

其中$ value是您的价值

答案 1 :(得分:0)

您可以尝试这样的事情:

UPDATE table_name SET id = id + 1 WHERE id >= your_id_value ORDER BY id DESC;
INSERT INTO table_name(..., id, ...) VALUES(..., your_id_value, ...)