我是关于sqlite的菜鸟(但有点像Pythonista经验丰富),但我很担心为什么这(Python 2.7,DBPATH是数据库的路径)......
import sqlite3
connection = sqlite3.connect(DBPATH)
cursor = connection.cursor()
query = "SELECT * from jobs"
cursor.execute(query)
print(cursor.fectchall())
query = "DELETE from jobs"
cursor.execute(query)
...输出表格的内容(因此表格的名称是正确的)而不改变它。有人能指出明显的吗?
答案 0 :(得分:3)
从手册:
提交()
此方法提交当前事务。如果你不打电话给这个 方法,自上次调用commit()以来所做的任何事情都是不可见的 其他数据库连接。如果你想知道为什么你没有看到你的数据 写入数据库,请检查你是不是忘了打电话给这个方法。
相反,您可以在连接时设置“隔离级别”,这样可以自动执行提交。
self.db = sqlite3.connect(self.db_name, isolation_level=None)
答案 1 :(得分:2)
在数据库中执行的每次 CUD 操作后,您必须commit()
。
如果你 C reate, U pdate或 D elete,那么
commit()
。