【问题标题】:Get ID of autoincrement field in SQLite获取 SQLite 中自增字段的 ID
【发布时间】:2012-09-27 09:47:49
【问题描述】:

我正在使用 SQLite 数据库。 我想进行插入并获取此插入的字段 ID(自动生成)。 字段 ID 是一个自动增量键。 我正在使用语句

  SELECT last_insert_rowid();

这很好用。

问题是当我有很多并发插入到表中时:在这种情况下,它可能会返回一个与另一个插入(不是我的插入)相关联的 ID。

我该怎么做才能以自主方式进行操作?

【问题讨论】:

    标签: sql sqlite insert auto-increment


    【解决方案1】:

    来自SQLite documentation

    last_insert_rowid() 函数返回最后一行的ROWID 从调用函数的数据库连接插入

    因此,只要您在插入后立即在同一连接上调用 select,其他同时用户是完全独立的,不会导致返回值错误。

    【讨论】:

    • 但是我用的是安卓,不知道这两个查询是不是引用到同一个db的连接
    • 好的,我认为关闭连接的db.close()是关闭数据库连接的方式。谢谢你的建议:)
    猜你喜欢
    • 2010-12-15
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    • 2011-06-01
    • 2015-11-27
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多