我一直在遵循SQLite tutorial上的Python文档,并设法创建了一个Employee
表并对其进行写入。
import sqlite3
conn = sqlite3.connect('employee.db')
c = conn.cursor()
firstname = "Ann Marie"
lastname = "Smith"
email = "[email protected]"
employee = (email, firstname, lastname)
c.execute('INSERT INTO Employee Values (?,?,?)', employee)
conn.commit()
# Print the table contents
for row in c.execute("select * from Employee"):
print(row)
conn.close()
我一直在阅读有关Write-Ahead Logging的文章,但我找不到解释如何实现它的教程。有人能举个例子吗?
我注意到使用SQLite的Firefox以这样一种方式锁定文件,即如果您在使用Firefox时试图删除SQLite文件,它将无法说“文件已打开或正在使用”(或类似的东西),我如何实现这一点?我在Windows 10下运行Python。
2条答案
按热度按时间mbjcgjjk1#
将日记帐模式设置为WAL:
或另一种方式(只是显示如何关闭wal模式)
mv1qrgav2#
PRAGMA journal_mode文档说:
如果无法更改日记模式,则返回原始日记模式。[...]
还请注意,当事务处于活动状态时,无法更改journal_mode。
因此,您必须确保数据库库不会试图聪明地自动启动事务。