我尝试使用python编写两个需要访问同一个sqlite数据库表的进程。一个进程通过插入新数据来更新表,另一个进程从同一个表中检索信息。但是,当另一个进程运行select query时,数据库已经被锁定,我得到
“操作错误:数据库被锁定”。下面是两个进程的代码。谢谢你的帮助process : 1
------------
while True:
print "Updating"
try:
conn = sqlite3.connect('test.db')
c = conn.cursor()
c.execute('PRAGMA journal_mode = WAL')
c.executemany('INSERT INTO test_table VALUES (?,?,?,?,?)', insertdata)
conn.commit()
conn.close()
except:
pass
time.sleep(60)
process : 2
------------
conn = sqlite3.connect('test.db')
c = conn.cursor()
c.execute("select * from test_table where id='{}' and date = '{}' order by time desc".format(recv_data,datetime.datetime.now().date().isoformat()))
data= c.fetchall()
conn.close()
上面给出的链接只表明sqlite中的多个连接是可能的。但它并没有建议如何去做