更新sqlite中一列中的所有数据

时间:2012-12-30 09:06:18

标签: android sqlite

我在sqlite数据库中有数据。每个数据都有ID,当我从数据库中删除数据时,它是主键我希望求助数据库中所有数据的ID。 例如,

+----+--------+
| ID |  NAME  |
+----+--------+
| 01 | Taylor |
+----+--------+
| 02 |  Mark  |
+----+--------+
| 03 |  Bell  |
+----+--------+
| 04 |  Jane  |
+----+--------+

然后我从数据库中删除02 | Mark,然后数据库必须自动使用ID

+----+--------+
| ID |  NAME  |
+----+--------+
| 01 | Taylor |
+----+--------+
| 02 |  Bell  |
+----+--------+
| 03 |  Jane  |
+----+--------+

感谢。

1 个答案:

答案 0 :(得分:3)

不要那样做。不要仅仅因为删除记录而更改数据库中的ID。即使SQLite不是“真正的”数据库 - 也不要这样做。

相反,您可以在查询数据库时获取行号。根据{{​​3}},您可以执行以下操作:

SELECT id, name, 
    (SELECT COUNT(*) FROM table AS t2 
        WHERE t2.id<=t1.id) AS row_num
FROM table AS t1
ORDER BY id

注意:如果您的表很大,此查询可能会成为性能问题。不要担心它,但请记住它。