游标实际上没有更新表

时间:2016-08-23 15:59:14

标签: python sql flask

我在烧瓶中有以下设置:

@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中调用该方法时,它实际上并没有进行更新。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

那是因为你需要提交。在con.commit()

之后添加cur.execute()

答案 1 :(得分:1)

您必须在con.commit()之后执行cur.execute(),否则您的更改不会反映在数据库中。

注意:此外,您必须在逻辑关闭数据库连接后执行cur.close()con.close()。因为大多数数据库都具有最大连接限制,并且如果您不显式关闭连接,它将一直处于活动状态,直到它达到connection-timeout