是否有一种方法可以在SQLite3中获取特定表的最后插入的rowid?有一个函数last_insert_rowid,它返回最近成功插入行ID表或虚拟表的rowid。但是,我想知道是否有这样的方法可以获取特定表的最后插入的rowid。
是否有一种方法可以在SQLite3中获取特定表的最后插入的rowid?有一个函数last_insert_rowid,它返回最近成功插入行ID表或虚拟表的rowid。但是,我想知道是否有这样的方法可以获取特定表的最后插入的rowid。
rowid
都存储在内部表 sqlite_sequence
中,您可以像查询其他表一样查询它。请确保您的主键 ID 具有属性 autoincrement
,否则它不会被列出。sqlite> create table Test1 (id integer primary key autoincrement, text string);
sqlite> create table Test2 (id integer primary key autoincrement, text string);
[...] -- Insert rows here
sqlite> select rowid from Test1;
id
----------
1
2
sqlite> select rowid from Test2;
id
----------
1
2
3
sqlite> select * from sqlite_sequence;
name seq
---------- ----------
Test1 2
Test2 3
RowId
的Returning
子句即可:insert into MyTable (Column1, Column2) Values (Val1, Val2) Returning RowId;
SELECT max(rowid) FROM yourtable
通常可以工作。 - undefined