已经看过这些类似的问题,但没有任何乐趣:
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是整数。执行没有错误。但是当我检查我的数据库时,没有发生预期的更新。
有没有人有任何见解?
答案 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,) )
虽然我会期待某种错误,而不只是一种无声的失败......