在SQLite3中选择是否锁定数据库?

时间:2012-02-02 09:52:22

标签: sqlite

我有一个进程不断插入sqlite3数据库,另一个进程从sqlite3数据库中选择(慢速sql)。

sqlite3会在读取时锁定数据库吗?

我想确保每次写入成功。读取失败是可以接受的。

1 个答案:

答案 0 :(得分:6)

根据事务开始后的SQLite3 locking reference(BEGIN命令),执行第一个SELECT语句时将获取SHARED锁。共享锁意味着可以读取数据库但不能写入数据库。执行第一个INSERT,UPDATE或DELETE语句时将获取RESERVED锁。