1
我使用原始SQL插入一行,并需要获取新插入行的主键。我不能假定任何非PK插入的数据都是唯一的,也不能假定该行是最后插入的行。Python/sqlite:获取新插入行的PK
如果使用原始SQL不可行,那么使用“常规”插入操作如何?我在想,我将不得不完全创建一个新的customID字段。然后我会创建一个随机数字变量并将其作为唯一ID插入。自从我插入它后,我知道它是什么。但是这似乎破坏了将PK作为唯一标识符的目的。有没有办法拉取序列的下一个ID(如在Oracle中)?
insert_sql = "insert into my_table(title, text) values ('the title', 'the text')"
cursor = connection.cursor()
cursor.execute(insert_sql)
transaction.commit_unless_managed()
谢谢! cursor.lastrowid工作得很好。它是本地的。 cursor.connection.insert_id()给了我一个错误:'sqlite3.Connection'对象没有'insert_id'属性 – user984003
Ouch,'sqlite3'。我没有意识到这一点,想到MySQL ... – glglgl