0

私のiOSプログラムは[A.sqlite3]ファイルをサーバーにダウンロードします。

私のiOSはすでに[b.sqlite3]ファイルをローカルに持っています

A.sqlite3 のテーブルをローカル iOS の b.sqlite3 のテーブルと結合したい。

しかし、テーブルのデータベースが異なるため、テーブルの結合に問題があります。

テーブルを同じデータベースに配置するにはどうすればよいですか?

4

1 に答える 1

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 コマンドを渡すように sql ATTACH コマンドを sqlite ライブラリに渡します。ATTACH の最初の引数としてフル パス名を指定することを忘れないでください。

于 2012-05-06T17:20:48.047 に答える