【问题标题】:How to get the value of unique primary key id immediately after insertion [duplicate]插入后如何立即获取唯一主键ID的值[重复]
【发布时间】:2015-09-22 08:03:21
【问题描述】:

我有一个名为“TX_TABLE”的 sqlite 表,主键 ID 名称是 TX_UID。 我在这个表中插入一行,想获取这个唯一 id 列 'TX_UID' 的值。如何获取?

db.insert(VivzHelper.TX_TABLE, null, contentvalues);
String td = new SimpleDateFormat("dd-MM-yyyy").format(new Date());
helper.close();

【问题讨论】:

    标签: java android sqlite


    【解决方案1】:

    假设你使用的是AndroidSQLiteDatabase类,insert()调用直接返回row id:

    public long insert (String table, String nullColumnHack, ContentValues 值)

    返回新的行ID 插入的行,如果发生错误,则为 -1

    【讨论】:

    • 如何获取该行ID的值?
    • long rowID = db.insert(...
    • 谢谢乔普。它帮助了我。新进入者的简单答案。
    【解决方案2】:

    您可以使用函数last_insert_rowid()(点击函数名查看详情)获取最后插入的id。

    来自文档:

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

    可以使用下面的sql命令来检索它

    SELECT last_insert_rowid()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多