数据库表中的顺序

时间:2016-02-16 23:14:33

标签: sql sqlite

我有一个名为notes的sqlite表。它有id,title,text。

在我的应用程序中,用户可以按照他想要的顺序放置笔记。 他可以拖动和移动音符改变他们的位置。

首先,我想创造"位置"领域。但这不好主意。 如果一张纸条改变了它的位置,其他纸币也会改变它们的位置。所以例如如果它将成为一千条记录,那么由于一个动作而改变所有记录并不是一个好主意。

我如何解决这个问题,所以用户会更改音符位置并将此状态保存到数据库中?

3 个答案:

答案 0 :(得分:1)

只存储上一个和下一个节点。然后你总是可以查询订单。或者您只是始终只保存节点。

答案 1 :(得分:1)

数据库需要另一个包含用户首选订单的列。 添加另一列并不是一个坏主意:添加一个包含整数数据类型的新列,例如ListOrder。

按照增加ListOrder值的顺序显示注释。

     Select * from Table Order By ListOrder

如果用户在UI中按一个单位向上拖动一个音符,则将该行的ListOrder中的整数递增1.

     Update Table Set ListOrder=ListOrder+1 Where ListOrder=(Select ListOrder-1 From Table where Column_x = 'blob')

请注意, column_x 是包含某些标识数据类型的行的另一个方面,例如用户名。

答案 2 :(得分:0)

我认为最好的方法是在用户不做更多更改时保存最终位置。全扫描或其他什么。