sqlite3 不刷新表

Bob*_*Bob 1 python sqlite

conn = sqlite3.connect('./mydb.db')
c = conn.cursor()
with open('./mydb_tmp.sql', 'w') as f:
    for row in c.execute('SELECT * FROM FLOWS'):
        print >>f, row
c.execute('DELETE FROM FLOWS;')
conn.close()
Run Code Online (Sandbox Code Playgroud)

之后,所有行仍在 mydb 中

小智 6

您需要提交命令。

conn = sqlite3.connect('./mydb.db')
c = conn.cursor()
with open('./mydb_tmp.sql', 'w') as f:
    for row in c.execute('SELECT * FROM FLOWS'):
        print >>f, row
c.execute('DELETE FROM FLOWS;')
# Flush your commands to the db with conn.commit().
conn.commit()
conn.close()
Run Code Online (Sandbox Code Playgroud)

检查文档:https : //docs.python.org/2/library/sqlite3.html