我经常在使用Python的sqlite3模块在sqlite3 DB上进行的SELECT查询上获得OperationalError: Database is Locked
。我已经阅读了Python的sqlite3文档,其中提到我们可以将timeout=N
参数传递给sqlite3.connect
来指定连接等待锁消失的时间。
sqlite3是否在尝试创建连接对象时引发异常,或者在进行选择时引发异常。
答案 0 :(得分:0)
您绝对正确, 只需对连接使用超时, 但这并不是说您的数据库不会锁定, 数据库锁定时,它将为此特定超时锁定 示例代码是
conn = sqlite3.connect("mydb", timeout=10)
这意味着每当数据库锁定时,数据库将在10毫秒后解锁