适当用途之一.org“rel =”noreferrer“> sqlite3 是<!>”内存数据库<!>“;。这听起来像是一个非常有用的C ++应用程序工具。有没有人有一个如何在C或C ++中完成这个的例子?我特意寻找一种规范的方法来将几个平面文件粘贴到内存数据库中,然后进行一些连接。

有帮助吗?

解决方案

实际上很容易。在使用C / C ++ API打开数据库时,只需指定':memory:'作为数据库文件名。这是引擎识别的特殊常量。这实际上适用于其他语言,如Python或Ruby,因为它们通常只包装C / C ++ API。有关完整的详细信息,请参见 http://sqlite.org/c3ref/open.html

其他提示

只需打开文件:memory:并且应该这样做(至少在PHP中)。

你提到你想要阅读几个平面文件并对它们进行连接。如果可以将平面文件存储为SQLite数据库,则可以通过将一个文件附加到另一个来直接使用它们:

ATTACH foo.db AS foo

然后像foo那样参考foo中的表:

SELECT * FROM foo.users

这样您就可以在不需要创建内存数据库的情况下进行连接。

如果您希望SQLite不将临时文件用作日记帐,例如,除了手动请求连接,断开连接,附加或分离之外,您不需要任何文件活动。然后在连接到<!>“;:memory:<!>”后,在运行时使用以下两个编译指示。数据库中。

PRAGMA temp_store=MEMORY;
PRAGMA journal_mode=MEMORY;

来自 docs

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top