在向表中插入或更新行之前,我没有找到明确的sqlite锁定命令。 sqlite是否自行处理锁定机制?
http://sqlite.org/lockingv3.html中描述的寻呼机模块处理锁定机制。但是我不确定用户是否可以使用任何命令来显式锁定表。请指教。
谢谢
最佳答案
据我所知,没有专用的sqlite命令来控制锁定。但是,您可以使用create transaction使sqlite锁定数据库。例如:
BEGIN IMMEDIATE TRANSACTION;
...
COMMIT TRANSACTION;
BEGIN EXCLUSIVE TRANSACTION;
...
COMMIT TRANSACTION;
如果您阅读了我链接的文档,则应该更好地了解IMMEDIATE
和EXCLUSIVE
事务之间的区别。可能值得注意的是,与其他sql数据库中的
LOCK TABLE
语句不同,sqlite中的锁不仅适用于整个表,还适用于整个数据库。