【问题标题】:How do I keep my SQLite Database organized? Android如何让我的 SQLite 数据库井井有条?安卓
【发布时间】:2012-11-12 10:19:15
【问题描述】:

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

1 随机 2 软糖 3 累了

如果我要删除条目 2,那就是

1 随机 3 累了

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

1 随机 2 不累

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

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

【问题讨论】:

  • 我不是数据库专家,但如果该自动递增 ID 是您的表的主键,那么我建议您保持原样。仅仅是因为它打扰了你吗?如果您将这些值用作行数或用于显示,则可能有其他方法来处理。

标签: android sqlite organization


【解决方案1】:

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

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

SELECT COUNT(*) FROM Table_name;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 2016-10-16
    • 1970-01-01
    相关资源
    最近更新 更多