我有一个sqlite数据库,我想保持其只读状态,而无需对该数据库文件进行任何写操作。
有没有一种方法可以对数据库进行临时修改,而无需将其永久刷新到磁盘上?
现在,通过将临时数据存储在具有与主数据库文件相同的架构结构的内存数据库中,我以一种变通方法来执行此操作。这种方法的问题在于,它增加了代码的复杂性,因为我必须在两个数据库上运行所有查询。
理想情况下,解决该问题的方法是将其他临时数据视为主数据库的一部分,而不将其实际提交到磁盘。
最佳答案
因为SQLite is transactional足以不进行COMMIT
事务处理(SQLite将在连接关闭时自动回滚它)。您应该首先使用BEGIN
语句将autocommit设置为off。