如何保持SQLite数据库的有序性? Android的

时间:2012-11-12 10:19:15

标签: android sqlite organization

假设我的SQLite数据库有2列,第一列是自动递增ID,第二列是某些字符串。现在就说吧

1随机 2个豆豆 3 ImTired

如果我要删除条目2,那么它将是

1随机 3 ImTired

我想要的是一种方法,当你删除条目2时,它会变成

1随机 2 ImTired

我考虑更新条目以将它们全部移到一个并删除最后一个,但即使它有效(在我的情况下,它删除了我的所有条目,但无论如何......),即使我做了得到它 1随机 2 ImTired

下次我创建一个新条目时,它将是条目4.我不认为这对我的应用程序是必要的,但它严重地让我感到烦恼。

1 个答案:

答案 0 :(得分:3)

数据库上的ID列用作主键,主键是用于唯一标识行的列或列组。在行上设置主键后,您不应该更改它,否则您可能会失去数据库的一致性。例如,假设您稍后创建另一个引用第一个表中的行的表。该引用将使用主键进行,如果您以后更改它,您的数据将不再有意义。

如果您希望ID列不断更改以反映表中的行数,则可以使用其他方法解决该问题。例如。 SQL提供了一个COUNT运算符,它将返回表中的行数:

SELECT COUNT(*) FROM Table_name;