Sqlite公司。如何获取插入后自动递增主键的值,而不是last_Insert_rowid()?

2024-05-15 22:49:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我将Sqlite3与Flask微结构一起使用,但这个问题只涉及Sqlite方面的内容。。

下面是一段代码:

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中,是否有一种简洁的内置方式来返回在插入之后生成的主键?


Tags: 代码nameflask内容executedbsqlitedownloads
1条回答
网友
1楼 · 发布于 2024-05-15 22:49:13

你这样做是有道理的。如果上面的截图是由两个脚本同时执行的,就不会有问题。last_insert_rowid()返回调用它的连接的最新INSERT语句的rowid。您还可以通过执行g.db.lastrowid来获取rowid。

相关问题 更多 >