我正在使用 sqlite 结合 tkinter 在我的 Python 程序中写入和删除记录。删除在我的程序中运行良好,当我重新启动程序时,记录不再存在。但是,我总是使用 Linux 标准软件 DB Browser for SQLite 进行交叉检查并查看我的 SQL 表。奇怪的是,所有记录仍然存在于数据库浏览器中。现在我想知道,为什么会这样?为什么它在我的 Python sqlite 查询中消失了,但在 DB 浏览器中却没有?不知何故,这些记录仍然存在。如何彻底销毁我的记录?
对于删除,我使用:(用户可以使用列表框选择特定条目。最终,我将所选项目“翻译”为其特定 ID 并触发删除。)
self.c.execute("DELETE FROM financial_table WHERE ID=?",(entry,))
self.conn.commit()
对于我的查询,我使用:(我查询特定年份和月份的数据。)
self.c.execute("SELECT ID, Date, Item, Price FROM financial_table WHERE strftime('%Y-%m', Date) = '{}' ORDER BY Date ".format(date))
single_dates = self.c.fetchall()
非常感谢您的帮助。