0

平台: Android 上的 SQLite。

问题:表有三列 - id、title 和 order。表中的数据有一些“重复”的订单记录,例如订单为“3”的记录有 2 条(示例如下)。订单价值也有“漏洞” - 例如,没有订单价值“2”。

示例表并选择拉取它:*select _id,title,order from table order by 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 表或游标,但在这里......?

4

1 回答 1

0

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

于 2012-06-18T21:18:29.657 回答