我在烧瓶中有以下设置:
@app.route('/restart/<int:id>')
def feed_info(id):
con = sqlite3.connect(database)
con.row_factory = sqlite3.Row
cur = con.cursor()
main_q = "UPDATE feed SET update_flag = 1 WHERE id = {};".format(id)
print(main_q)
cur.execute(main_q)
return "Set to update!"
但是,即使SQL似乎独立工作,但当我在Flask中调用该方法时,它实际上并没有进行更新。
有什么想法吗?
答案 0 :(得分:1)
那是因为你需要提交。在con.commit()
cur.execute()
答案 1 :(得分:1)
您必须在con.commit()
之后执行cur.execute()
,否则您的更改不会反映在数据库中。
注意:此外,您必须在逻辑关闭数据库连接后执行cur.close()
和con.close()
。因为大多数数据库都具有最大连接限制,并且如果您不显式关闭连接,它将一直处于活动状态,直到它达到connection-timeout
值