Python sqlite3查询在终端中工作,但不在应用程序中工作

时间:2012-09-11 09:12:27

标签: python sqlite flask

已经看过这些类似的问题,但没有任何乐趣:

PHP MySQL Query doesn't work, but works from terminal Sqlite update don't working right - python

我正在使用带有SQLite的Flask并具有以下查询:

g.db.execute( "UPDATE article_views SET views=views+1 WHERE id=:id" , { "id": this_id } )

其中this_id是整数。执行没有错误。但是当我检查我的数据库时,没有发生预期的更新。

有没有人有任何见解?

2 个答案:

答案 0 :(得分:7)

我怀疑你也需要commit your transaction

g.db.commit()

答案 1 :(得分:0)

我不是100%肯定,但我相信Sqlite3的占位符为?而不是:1%s样式 - 您是否尝试过查看以下内容是否有效:

g.db.execute( "UPDATE article_views SET views=views+1 WHERE id=?", (this_id,) )

虽然我会期待某种错误,而不只是一种无声的失败......