存储排序顺序/优先级的最佳方法?

Jef*_*eff 7 mysql sorting

我正在使用MySQL.我有一个表,我需要能够手动设置行的优先级/顺序排序.我最初想过为每一行分配一个任意的顺序(1,2,3等),然后只是在移动行时"交换"顺序,但我不认为这是最好的方法.

在对这里的相关问题进行了一些阅读(比如这个)后,很多人都说过根据id列(id*1000)为优先级列分配一个值.要重新排列行,您可以分割/减去列之间的差异.我不太明白这是如何工作的.

这是我需要排序的表的布局.

CREATE TABLE liability_detail (
   id int NOT NULL AUTO_INCREMENT,
   analysis_id int NOT NULL, //(many-to-one relationship with analysis table)
   other_columns various datatypes
   sequence int DEFAULT 0
)
Run Code Online (Sandbox Code Playgroud)

我想设置一种简单的方法来管理行的优先级,这样我就可以轻松地对它们进行排序,而无需编写大量代码来管理所有内容.

Jef*_*eff 4

我最终遵循了这个问题中的建议:https ://stackoverflow.com/a/6804302/731052

我设置了排序顺序列= id * 1000,这样我就可以获得唯一的订单。到目前为止,这工作得很好,没有出现任何问题。