我想将db表放在同一个数据库中。怎么样?

时间:2012-05-06 17:10:55

标签: ios database join sqlite

我的iOS程序在服务器中下载[A.sqlite3]文件。

我的iOS已经在本地

中有[b.sqlite3]文件

我想在本地iOS中使用b.sqlite3的表加入A.sqlite3的表。

但是,由于表的数据库不同,我在连接表时遇到问题。

如何将表放在同一个数据库中?

1 个答案:

答案 0 :(得分:0)

您可以使用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 ATTACH命令传递给sqlite库,就像传递其他sql命令一样,并记得将完整路径名作为ATTACH的第一个参数