将内存数据库保存到磁盘

我在c ++中通过sqlite创建了一个数据库。

db已在内存中创建(使用文件名中的“:memory:”参数),以便具有非常快速的行为。

数据库由以下行创建:

sqlite3* mem_database; if((SQLITE_OK == sqlite3_open(":memory:", &mem_database)){ // The db has been correctly created and // I can do some stuff with it. } sqlite3_close(mem_database); 

我的问题是:如何将内存数据库写入磁盘? (当然是通过c / c ++)。

我读了一些关于ATTACH和DETACH sqlite命令的内容,但我可以让它们只使用sqlite交互式shell(而不是c / c ++代码)。

映入眼帘。

看看这个例子: 加载和保存内存数据库

在对表执行任何操作之前使用事务语句。 这确保了快速处理和回滚。 这样,您就不需要直接在内存中实现数据库。