如何在使用Python在SQLite中插入行后检索插入的id?我有这样的表:
id INT AUTOINCREMENT PRIMARY KEY,
username VARCHAR(50),
password VARCHAR(50)
我插入一个带有示例数据 username="test"
和 password="test"
的新行 . 如何以事务安全的方式检索生成的id?这适用于网站解决方案,其中两个人可能同时插入数据 . 我知道我可以得到最后一行,但我不认为这是交易安全的 . 有人可以给我一些建议吗?
1 回答
你可以使用cursor.lastrowid(见"Optional DB API Extensions"):
如果两个人同时插入,只要他们使用不同的
cursor
,cursor.lastrowid
将为cursor
插入的最后一行返回id
:请注意,当您使用
executemany
一次插入多行时,lastrowid
将返回None
: