我正在尝试在sql表的中间插入一个新行,并首先移动所有其他行以为其腾出空间。
我试过了
setting id=id+1
,
但是这显然给了我一个错误(显然)因为行id+1
已经存在,所以这只适用于向另一个方向移动id=id-1.
那么正确的解决方案是什么?
答案 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, ...)