我通过 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 打开与多个数据库文件的连接。
请有人告诉可以吗?
谢谢
答案 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");