32

C ++でsqliteを介してデータベースを作成しました。

非常に迅速な動作を実現するために、データベースはメモリ内に作成されています (ファイル名の代わりに「: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 コマンドについて読んだことがありますが、(c/c++ コードからではなく) sqlite インタラクティブ シェルでのみ動作させることができます。

挨拶します。

4

3 に答える 3

28

この例を確認してください:インメモリデータベースのロードと保存

于 2009-09-17T08:01:10.460 に答える
0

テーブルに対して何かを行う前に、トランザクションステートメントを使用してください。これにより、高速な処理とロールバックも保証されます。このように、データベースをメモリに直接実装する必要はありません。

于 2009-09-17T08:03:53.647 に答える