SQLite3中特定表的最后插入的rowid

时间:2019-09-09 06:53:52

标签: sql sqlite insert rowid

有没有办法在SQLite3中获取特定表的最后插入的rowid?有一个函数last_insert_rowid,该函数将最近成功执行INSERT的rowid返回到rowid表或虚拟表中。但是,我想知道是否有这样一种方法来获取特定表的最后插入的rowid。

1 个答案:

答案 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