如何更新“order by”列中的值,同时尽可能保留顺序?

时间:2012-06-18 20:44:50

标签: android sqlite

平台: Android上的SQLite。

问题:表有三列 - 标识,标题和顺序。表中的数据有一些“重复”的订单记录,例如,有2个订单为“3”的记录(示例如下)。订单值中也有“漏洞” - 例如,没有订单值“2”。

示例表并选择拉取它:*按顺序从表顺序中选择_id,title,order; *

_id         TITLE      ORDER    
----------  ----------  ----------
5           First        0         
19          Second       1         
1           Third        3         
4           Fourth       3         
3           Fifth        5         
16          Sixt         7        

需要什么?有没有办法更新表中的当前记录,以“重置”ORDER列中的值,同时尽可能保留。更新后可能的最佳结果是:

_id         TITLE      ORDER    
----------  ----------  ----------
5           First        0         
19          Second       1         
1           Third        2         
4           Fourth       3         
3           Fifth        4         
16          Sixt         5        

任何人都知道如何在运行Android的SQLite上执行此操作?如果这是Oracle和SQLServer,我可以使用#temp tables或cursors,但这里......?

1 个答案:

答案 0 :(得分:0)

可能有更好的解决方案,但我只需按照您想要的顺序选择并将它们保存到数组中。然后,您可以使用for循环遍历并使用for循环迭代器值更新每个记录的ORDER字段。