删除元素时重新排序DB表中的行

时间:2016-01-16 23:31:29

标签: mysql sql

插入元素时,在DB表中重新排序行有一个很好的答案: Reorder rows in a MySQL table 但是当删除一行时呢?在这种情况下,查询会是什么?

2 个答案:

答案 0 :(得分:0)

  

插入元素时重新排序数据库表中的行

根据我的知识,这是奇怪的原因,您的数据库表中没有维护固有的顺序。会有这种情况,那么就不需要order by条款了。

在一个句子中,您的表中没有维护特定的顺序,因此在从表中获取记录时,您将根据需要使用order by子句对数据进行排序。

不确定重新排序表格数据是什么意思。

答案 1 :(得分:0)

我还没有对此进行过测试,它在当天很晚,会在其他时间进行测试,但这可能会解决问题:

UPDATE MyTable 
SET `Order` = `Order` - 1 
WHERE `Order` > (SELECT `Order` 
FROM MyTable 
WHERE ID = <delete-row-id>);