如何在PYTHON中实现‘SQLITE3_BUSY_TIMEOUT’?

5ssjco0h  于 2022-11-15  发布在  SQLite
关注(0)|答案(1)|浏览(227)

我正在尝试运行具有多个线程的Python脚本,但收到以下错误:
Sqlite3.OperationalError:数据库已锁定
我发现我需要扩展SQLITE3_BUSY_TIMEOUT,使其在写入数据库之前等待更长时间。
用于此操作的代码如下所示:
‘DB.CONFIGURE(“busyTimeout”,10000)’//这应该会让它等待10秒。
我想知道的是我如何实现这段代码?我应该把它放在哪里,在SQLite命令之前还是之后?另外,我需要在写之前写点什么吗?比如c.Execute(“code”)?

hyrbngr7

hyrbngr71#

您可以使用BUSY_TIMEOUT杂注设置超时。以下是将忙碌超时设置为10秒的示例:

import sqlite3
with sqlite3.connect('example.db') as db
    db.execute('pragma busy_timeout=10000') 
    # do more work with db...

相关问题