【问题标题】:Deleting in database?在数据库中删除?
【发布时间】:2011-08-17 22:29:05
【问题描述】:

我对 Android 中的数据库有疑问。我在我的应用程序中创建了一个数据库。如果我从数据库中删除一条记录,例如最后一条,然后在数据库中插入一条新记录,则新记录不会保存在我删除另一条记录的行中的数据库中。那一行是空的。它保存在下一行。为什么?我应该做点什么吗?

【问题讨论】:

  • 这张表的列是什么?你有 _id 列吗?
  • 是的,我有一个 _id 列
  • 查看 slunds 的答案,该列正在自动递增,因此您无法为其分配值,它只会在每次插入时获取该值的下一个序号。
  • 是的,我明白了。在我的应用程序中,我使用了 AUTOINCREMENT。如果我删除自动增量,我的表不会改变。我必须创建一个新项目来更改数据库中的表?
  • 即使没有给定约束,名为 _id 的列也会自动递增。

标签: android database sql-insert corresponding-records delete-record


【解决方案1】:

我假设你在谈论一个 sqlite 数据库?

如果您的 rowid 是使用 AUTOINCREMENT 声明的字段,那么(来自文档)“为新行选择的 ROWID 至少比 曾经存在过的最大 ROWID 大一个同桌”。

您可以在此处阅读有关自动增量算法的信息:http://www.sqlite.org/autoinc.html

请注意,您不必使用 AUTOINCREMENT 让您的主键自动选择 rowid。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-07
    • 2013-05-21
    • 2014-03-12
    • 2016-03-03
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 2021-02-01
    相关资源
    最近更新 更多