有没有办法在SQLite3中获取特定表的最后插入的rowid?有一个函数last_insert_rowid,该函数将最近成功执行INSERT的rowid返回到rowid表或虚拟表中。但是,我想知道是否有这样一种方法来获取特定表的最后插入的rowid。
答案 0 :(得分:1)
所有表的最后插入的rowid
存储在internal table 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