我在sqlite数据库中有数据。每个数据都有ID
,当我从数据库中删除数据时,它是主键我希望求助数据库中所有数据的ID
。
例如,
+----+--------+
| ID | NAME |
+----+--------+
| 01 | Taylor |
+----+--------+
| 02 | Mark |
+----+--------+
| 03 | Bell |
+----+--------+
| 04 | Jane |
+----+--------+
然后我从数据库中删除02 | Mark
,然后数据库必须自动使用ID
。
+----+--------+
| ID | NAME |
+----+--------+
| 01 | Taylor |
+----+--------+
| 02 | Bell |
+----+--------+
| 03 | Jane |
+----+--------+
感谢。
答案 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
注意:如果您的表很大,此查询可能会成为性能问题。不要担心它,但请记住它。