【发布时间】:2011-03-27 09:39:36
【问题描述】:
我正在使用带有 Flask 微框架的 Sqlite3,但这个问题只涉及 Sqlite 方面的事情。
这是一个sn-p的代码:
g.db.execute('INSERT INTO downloads (name, owner, mimetype) VALUES (?, ?, ?)', [name, owner, mimetype])
file_entry = query_db('SELECT last_insert_rowid()')
g.db.commit()
downloads 表的另一列具有以下属性:id integer primary key autoincrement,
如果两个人同时编写,上面的代码可能会产生错误。
交易可能很混乱。在 Sqlite 中是否有一种巧妙的内置方式来返回执行 INSERT 后生成的主键?
【问题讨论】:
-
请阅读 last_insert_rowid (sqlite.org/lang_corefunc.html) 的文档;它位于数据库连接的本地。
-
谢谢。是的,我正在使用 object-c