Python/sqlite - 插入后选择记录
有没有类似于INSERT...;SELECT @@IDENTITY的sqlite用法?如果有的话,请给我看看代码或者告诉我在哪里可以找到。
谢谢!
2 个回答
10
SELECT last_insert_rowid() -- same as select @@identity
last_insert_rowid() 这个函数会返回最后一次插入数据时的行号。这个行号是从调用这个函数的数据库连接中获取的。简单来说,last_insert_rowid() 是一个封装了 sqlite3_last_insert_rowid() 这个 C/C++ 接口函数的 SQL 函数。
18
Cursor.lastrowid
是一个在使用 SQLite 数据库时的功能。
简单来说,当你在数据库中插入一条新记录后,这个功能可以帮助你找到刚刚插入的那条记录的 ID。ID 就是数据库用来唯一标识每条记录的一个数字。
所以,如果你想知道你刚刚添加的那条数据的编号,可以用这个 lastrowid
来获取。
>>> import sqlite3
>>> conn = sqlite3.connect(":memory:")
>>> c = conn.cursor()
>>> c.execute("create table t (id integer, some text);")
<sqlite3.Cursor object at 0x00C64CE0>
>>> c.execute("insert into t values(1,'a');")
<sqlite3.Cursor object at 0x00C64CE0>
>>> c.lastrowid
1