【发布时间】:2016-10-28 05:31:46
【问题描述】:
我有一个同时访问的 sqlite3 数据库。我有 ClientA 读取某个表的状态(Column1 有行 A、B、C)并且需要用新的字母表。如果ClientB 在ClientA 更新表之前读取表的状态(比如使用新字母D),那么两个客户端都可以(在我的情况下这样做) 将 D 写入表格 - 这样 Column1 变为 A、B、C、D,D。但我需要确保 Column1 只有唯一的字母!
如何锁定 db 连接,使其读写操作获得独占访问权限,以便 Column1 不会在其他读写周期之间意外更改状态?
很难在网上找到任何关于“锁定 SQLite 读取”的信息,因为似乎每个人都对解锁数据库更感兴趣。下面好像没有给con的读操作exclusive access
con = sqlite3.connect(db, isolation_level='EXCLUSIVE', timeout=10)
相关:
【问题讨论】:
标签: python multithreading sqlite python-multithreading