我有一个表,其中有一个字段sort_id
。在该字段中,有从 1 到 n 的数字,用于定义数据集的顺序。现在我想删除一些元素,然后我想重新排序表格。因此,我需要一个查询来“找到”差距并sort_id
根据修改更改字段。
当然,我可以这样做:
SELECT sort_id FROM table WHERE id = 5
然后保存 sort_id,然后:
DELETE FROM table WHERE id = 5
UPDATE table SET sort_id = sort_id - 1 WHERE sort_id > {id from above}
但我想一步完成重新排序过程。