我有一个包含一堆行和 sort_order 的表。我想知道如何做到这一点,所以当我删除一行时,说我删除了一个sort_order为7的突出显示的行。然后我只需要将#8更改为#7 ..#9 #8 ..#10到#9 ..和#11到#10。
这样的事情可能吗?
答案 0 :(得分:13)
如果您确实需要更改这些值(sort_order
仍可使用间隙),您可以
Delete From t
Where sort_order = 7
然后按1
减少剩余的条目:
Update t
Set sort_order = sort_order - 1
Where sort_order > 7
答案 1 :(得分:1)
像这样:
Update tablename
Set sort_order = sort_order - 1
where sort_order > 7
答案 2 :(得分:1)
DELETE FROM table WHERE sort_order = 7;
UPDATE table SET sort_order = sort_order - 1 WHERE sort_order > 7;
但是,根本没有必要。
答案 3 :(得分:1)
进行这样的重新排序绝对没有意义。 按原样离开你的桌子。
您将为数据库带来不必要的工作负担而没有任何好处。