Вопрос

Я создал базу данных через sqlite на C++.

БД была создана в памяти (с использованием параметра «: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/С++).

Я читал кое-что о командах sqlite ATTACH и DETACH, но могу заставить их работать только с интерактивной оболочкой sqlite (а не из кода c/С++).

Приветствую.

Это было полезно?

Решение

Другие советы

Используйте оператор транзакции, прежде чем что-либо делать с таблицей.Это также обеспечивает быструю обработку и откат.Таким образом, вам не нужно напрямую реализовывать базу данных в памяти.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top