SQLite 删除查询不起作用?

CNo*_*der 2 python sqlite flask

我有以下代码从名为 posts 的表中删除一行。由于某种原因,该帖子没有被删除。我也尝试通过命令行手动管理命令,它工作得很好。我也确定 post_id 是正确的并且不为空,因为我也尝试过将它传回并打印它并且 ID 正确显示。我应该提到它不会吐出错误。只是什么都没有发生。

def deletePost(post_id):
con = sql.connect("database.db")
cur = con.cursor()
cur.execute("DELETE FROM posts WHERE id = (?)", [post_id])
con.close()
Run Code Online (Sandbox Code Playgroud)

Muh*_*han 6

在关闭提交更改之前,您没有提交:

检查这个。

cur.execute("DELETE FROM posts WHERE item = ?", (post_id,))
con.commit()
con.close()
Run Code Online (Sandbox Code Playgroud)

sqlite的一般信息:

一个导入点是元组中的逗号“,”。如果您有一个项目,那么在末尾添加逗号是强制性的,但如果您在元组中有多个条目(您将其传递给 sqlite),则在最后一个项目之后没有逗号。