在sqlite中插入时获取主键而不是rowID或通过其rowID获取主键

Posted

技术标签:

【中文标题】在sqlite中插入时获取主键而不是rowID或通过其rowID获取主键【英文标题】:get Primary key rather than rowID while inserting in sqlite or get primary key by its rowID 【发布时间】:2015-11-03 06:11:31 【问题描述】:

在插入数据库时​​,是否有一种智能方法可以获取自动递增的主键而不是 rowID,基本上我不想编写新查询来获取最后一个条目的主键,有没有使用其 rowID 获取主键的方法。

提前致谢。

【问题讨论】:

这个问题没有意义;在 SQLite 中,the autoincremented key always is the rowid. 【参考方案1】:

选项 1:如果您使用 android SQLite DB 类方法,它们会返回最后插入的 id。

选项 2:选择 last_insert_rowid();

参考question

【讨论】:

这会返回我在表中设置的主键吗? @ZubairAkber - 我想你的主键有自动增量。在这种情况下,它返回最后插入的行 id ... 感谢您的回答,但我想获取主键而不是 rowID,或者有没有办法通过其 rowID 获取行数据 @ZubairAkber - 那么请解释一下你的主键是什么?共享表的创建 SQL 代码。如果您的主键不是自动增量整数,那么这意味着您正在手动插入主键......如果您正在手动插入 - 那么您已经拥有......

以上是关于在sqlite中插入时获取主键而不是rowID或通过其rowID获取主键的主要内容,如果未能解决你的问题,请参考以下文章

获取主键而不插入空行

如何在 SQLite 中获取最后插入的行 guid?

如何使用唯一键而不是主键在 Hibernate 中检索记录

InnoDB rowid管理

在 SQLite 表中使用文本作为主键不好?

SQLite UPSERT / 更新或插入