python - SQLite 插入语句使用 Flask 静默失败

标签 python sqlite flask

我正在关注 Flask 网站上的 Flask/SQLite 教程: http://flask.pocoo.org/docs/patterns/sqlite3/

我所有的选择查询都工作正常,但是当我尝试插入语句时没有任何反应。我没有收到任何错误,但我的数据库中也没有插入行。当没有错误发生时,我不确定如何调试它。有没有人有想法?

这是我的设置代码:

def connect_db():
    return sqlite3.connect(DATABASE)

@application.before_request
def before_request():
    g.db = connect_db()

@application.teardown_request
def teardown_request(exception):
    if hasattr(g, 'db'):
        g.db.close()

def query_db(query, args=(), one=False):
    cur = g.db.execute(query, args)
    rv = [dict((cur.description[idx][0], value)
               for idx, value in enumerate(row)) for row in cur.fetchall()]
    return (rv[0] if rv else None) if one else rv

这是一个有效的查询示例:

@application.route('/api/galleries')
def get_galleries():
    query = query_db('select id, title, thumbnail from galleries')
    return json.dumps(query)

这是我的插入语句。这个什么都不做,没有错误:

g.db.execute('insert into photos (is_favorite, galleries_id, filename) values (?, ?, ?)', [is_favorite, galleries_id, filename])

最佳答案

您是否在 INSERT 之后提交?

g.db.execute('insert into photos (is_favorite, galleries_id, filename) values (?, ?, ?)', [is_favorite, galleries_id, filename])
g.db.commit()

关于python - SQLite 插入语句使用 Flask 静默失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17215698/

相关文章:

android 检查表是否为空

python - 服务器重启后如何使Flask应用启动并运行?

python - 如何在具有多个目录的 html 中使用 css 样式?

python - 如何使用 django-import-export 导出属性值

python - python 应用程序中的 sqlite3 提交卡住 PC 几秒钟

Flask-Admin can_create = True 仅适用于给定用户

python - 根据其他表单的值在循环中重复 flask 表单

python - 从有限的 CSV 列集读取并作为行输出到特定的 JSON 模式

python - subprocess.Popen 和 ipython

java - sqlite + listview + 新 Activity : close() was never explicitly called on database?