可以通过sqlite3_open API在单个实例上打开与多个数据库文件的连接吗?

时间:2016-04-27 10:26:06

标签: database sqlite database-connection

我通过 sqlite3_open(const void * <打开与 config1.sqlit e文件的连接,保存在假设/x/y/config1.sqlite路径中/ strong> 路径 sqlite3 **** ** db_ref ****)。它工作正常。

现在,我希望再次连接到同一个 config1.sqlite 文件,这是一个保存在不同路径的副本,例如/x/z/config1.sqlite路径。 我不确定sqlite3_open API是否可以通过上面指定的 db_ref 打开与多个数据库文件的连接

请有人告诉可以吗?

谢谢

1 个答案:

答案 0 :(得分:0)

sqlite3_open不能这样做;你总是得到一个新的,独立的数据库连接。

但是,您可以attach数据库到另一个打开的数据库连接:

sqlite3_open("/x/y/config1.sqlite");
sqlite3_execute("ATTACH '/x/z/config1.sqlite' AS z");
sqlite3_execute("SELECT * FROM main.tab");
sqlite3_execute("SELECT * FROM z.tab");