我的 iOS 程序在服务器中下载 [A.sqlite3] 文件。
我的 iOS 在本地已经有 [b.sqlite3] 文件
我想在本地 iOS 中加入 A.sqlite3 的表和 b.sqlite3 的表。
但是,由于表的数据库不同,我在加入表时遇到了问题。
如何将表放在同一个数据库中?
您可以使用 sqlite ATTACH语法。假设您在数据库 A.sqlite3 中有一个表 A,在数据库 B.sqlite3 中有一个表 B,从命令行,步骤将是:
$ sqlite3 A.sqlite3
sqlite> ATTACH 'B.sqlite3' AS dbB;
sqlite> SELECT a.*,dbB.b.* FROM a,dbB.b WHERE (a.id = dbB.b.id);
ATTACH为附加数据库文件提供了一个前缀,您可以在 sql 语句中使用该前缀。
在 iPhone 应用程序上,像以前一样打开 A.sqlite3 数据库,然后像传递其他 sql 命令一样将 sql ATTACH 命令传递给 sqlite 库,并记住将完整路径名作为 ATTACH 的第一个参数。