Page Top

【SQLite】获取插入 ID 的几种方式

一、概述

SQLite 中,表设置自增列后,可通过如下几种方式获取插入记录的 ID

二、获取插入 ID 的几种方式

2.1、sqlite_sequence(推荐)

通过 SQLite 自增 ID 序列表获取,示例:

insert into TbTest(Name, Age) values('usr', 20);
select seq from sqlite_sequence where name='TbTest';

2.2、rowid

表设置了自增列,会生成 rowid 的隐藏列,需要显式查询语句才可以查询出,示例:

select rowid from TbTest;

但是,表没有设置自增列,上面的语句无法查出任何值。

特殊的,表无论是否设置了自增列,但都可以使用聚合函数查询出 rowid,示例:

insert into TbTest(Name, Age) values('usr', 20);
select max(rowid) from TbTest;

2.3、ID 列

直接通过设置的 ID 列查询,示例:

insert into TbTest(Name, Age) values('usr', 20);
select max(ID) from TbTest;

2.4、last_insert_rowid()

使用内置函数 last_insert_rowid(),示例:
示例:

insert into TbTest(Name, Age) values('usr', 20);
--注意!若此行处有插入临时表的操作,下面的语句获取到的是插入临时表的 rowid
select last_insert_rowid() from TbTest LIMIT 1;
posted @ 2021-12-03 09:55  抹茶大虾球丶  阅读(3718)  评论(0编辑  收藏  举报