簡體   English   中英

sqlite3.OperationalError:數據庫已鎖定

[英]sqlite3.OperationalError: database is locked

我正在嘗試將列表的所有值插入到我的sqlite3數據庫中。 當我使用python交互式解釋器模擬此查詢時,我能夠正確地將單個值插入到DB中。 但是我的代碼在使用迭代時失敗了:

...
connection=lite.connect(db_name)
cursor=connection.cursor()
for name in match:
         cursor.execute("""INSERT INTO video_dizi(name) VALUES (?)""",(name,))
connection.commit()
...

error:cursor.execute("""INSERT INTO video_dizi(name) VALUES (?)""",(name,))
sqlite3.OperationalError: database is locked

有什么方法可以解決這個問題?

當您嘗試提交失敗的操作時,您在代碼中的其他位置是否有另一個用於開始仍處於活動狀態(未提交)的事務的連接?

因為您的數據庫由另一個進程或連接使用。 如果您需要真正的並發,請使用真正的RDBMS。

由於您已在DBbrowser類型應用程序中打開site.db或數據庫文件以在交互式數據庫界面中查看,因此可能會發生此錯誤。 關閉它會工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM