从sqlite数据库中删除数据

时间:2013-09-21 19:49:43

标签: python sqlite flask

在我的烧瓶应用程序中,我有以下代码:

def get_db():
    conn =sqlite3.connect(db_path)
    cur =conn.cursor()
    cur.execute("""CREATE TABLE IF NOT EXISTS Files (name TEXT, 
    year TEXT, subject TEXT, kind TEXT, correction INT, 
    description TEXT, date TEXT)""")
    return cur

def query_db(query, args=(), one=False):
    print args   
    cur = get_db().execute(query, args)
    rv = cur.fetchall()
    cur.close()
    return (rv[0] if rv else None) if one else rv

@app.route('/admin/<year>/<matiere>/<fichier>')
@requires_auth
def delete(year, matiere, fichier):
    query_db("DELETE from Files where name=?",[fichier])
    return 'Deleted'

但是当我使用这段代码时,数据不会被删除,我不明白为什么。有人有想法吗?

1 个答案:

答案 0 :(得分:1)

我认为你缺少commit conn.commit()

def query_db(query, args=(), one=False):
    print args   
    cur = get_db().execute(query, args)
    rv = cur.fetchall()
    conn.commit()
    cur.close()
    return (rv[0] if rv else None) if one else rv