删除行后android sqlite有差距吗?

时间:2014-11-25 21:00:26

标签: android sqlite

我在dataBase中有4个EditTexts

我删除了第二个

数据库编号为1,3,4

我现在希望它重新编号为1,2,3。

我看了很多解决方案 但我找不到完整的答案.. 我不知道应该写什么 我尝试了以下代码。 但它没有发生

db.delete("SQLITE_SEQUENCE","NAME = ?",new String[]{TABLE_NAME});

有没有人有完整的答案?

2 个答案:

答案 0 :(得分:1)

通常,这是数据库的糟糕设计。对于一段数据,ID应该是一致的,无论其对等点如何 - 它不应该因为另一行被删除而波动。

话虽这么说,你总是可以使用UPDATE语句来SET ID = ID-1 WHERE ID > (the ID of the row you deleted)。这会奏效。我不推荐这种方法,但你可以。

答案 1 :(得分:0)

您可以通过执行SQLite VACUUM命令来恢复此空间。

删除后调用db.execSQL("VACUUM")