I made a database through sqlite in c++.
The db has been created in memory (using the ":memory:" parameter insted of a filename), in order to have a very quick behavior.
The database is created by the following lines:
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);
My problem is: how can I write the in-memory database to disk? (through c/c++ of course).
I read something about the ATTACH and DETACH sqlite commands, but I can get them working only with the sqlite interactive shell (not from c/c++ code).
Greets.
Check out this example: Loading and Saving In-Memory Databases
Use transaction statement before doing anything to the table. This ensures fast handling and rollbacks as well. This way, you don't need to implement the database in memory directly.
来源:https://stackoverflow.com/questions/1437327/saving-to-disk-an-in-memory-database