Python sqlite3删除没有做任何事情

2024-04-29 16:06:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我对sqlite不太了解(但作为Pythonista有点经验),但我很困惑为什么会这样(Python2.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)

…输出表的内容(因此表的名称是正确的),而不更改它。有人能指出明显的问题吗?你知道吗


Tags: fromimport路径数据库executesqliteconnectjobs
2条回答

根据手册:

提交()

此方法提交当前事务。如果你不叫这个 方法,则自上次调用commit()以来所做的任何操作都不可见 其他数据库连接。如果你想知道为什么你看不到你得到的数据 写入数据库,请检查您是否忘记调用此方法。你知道吗

相反,您可以在连接时设置“隔离级别”,这会自动完成提交。你知道吗

self.db = sqlite3.connect(self.db_name, isolation_level=None)

在数据库中执行的每个CUD操作之后,必须commit()。你知道吗

If you Create, Update or Delete, then commit().

相关问题 更多 >