如何在复制Sqlite3数据库文件时防止写事务?

时间:2019-04-21 01:51:11

标签: sqlite

Sqlite3 recommends使用备份API进行备份,但也表明只要没有正在进行的事务,复制就可以安全进行:

  

制作可靠的SQLite数据库备份副本的最佳方法是利用SQLite库中的备份API。如果失败,只要没有任何进程在进行事务处理,就可以安全地复制SQLite数据库文件。

如果可以安全地执行此操作,我想使用复制数据库文件的方法。

NB。我了解到Backup API是首选选项,但是由于Sqlite3会通告原子提交,因此我相信这种方法是可行的,并且我想知道如何使这种方法尽可能安全。

可以使用哪种SQL命令或API完全锁定数据库,从而满足“只要没有正在进行的事务”要求?

尽管从技术上讲是交易,但可以使用空的排他交易(即BEGIN EXCLUSIVE;,没有其他语句)吗?

0 个答案:

没有答案