1

假设我的 SQLite Databate 有 2 列,第一列是自动递增的 ID,第二列是一些字符串。说现在是

1 随机 2 软糖 3 ImTired

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

1 随机 3 厌倦

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

1 随机 2 厌倦

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

下次我创建一个新条目时,它将是条目 4。我认为这对我的应用程序没有必要,但它严重困扰我。

4

1 回答 1

3

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

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

SELECT COUNT(*) FROM Table_name;
于 2012-11-12T10:39:47.903 回答