SQLite での異なるデータベースからのテーブルの結合
複数の SQLite データベースを操作する場合、アクセスして結合するにはデータベース間でテーブルを結合する必要があります。データ。 SQLite は異なるデータベースからのテーブルの直接結合をネイティブにサポートしていませんが、ATTACH コマンドを使用した回避策があります。
データベースのアタッチ
ATTACH コマンドを使用すると、データベースをアタッチできます。外部データベース ファイルを現在の接続に接続します。これにより、接続されたデータベースのテーブルとデータにアクセスできるようになります。データベースをアタッチするには、次の構文を使用します。
ATTACH DATABASE 'path/to/db.sqlite' AS 'alias';
「path/to/db.sqlite」をアタッチするデータベース ファイルへのパスに置き換え、「alias」をデータベース ファイルに使用するエイリアスに置き換えます。添付のデータベースを参照してください。
例
2 つの SQLite データベース「database1.db」と「database2.db」があるシナリオ。 2 番目のデータベースを接続するには:
ATTACH DATABASE 'database2.db' AS 'db2';
テーブルの結合
データベースを接続した後、同じデータベース内にあるかのように、データベース間でテーブルを結合できます。次の構文を使用します:
SELECT * FROM db1.table1 AS T1 INNER JOIN db2.table2 AS T2 ON T1.column1 = T2.column2;
ここで、'db1.table1' と 'db2.table2' は、それぞれ接続されたデータベース 'db1' と 'db2' のテーブルです。
接続されたデータベースのクエリ
接続されたデータベースを確認するには、 .databases コマンド:
.databases
これにより、現在接続されているすべてのデータベースとそのエイリアスがリストされます。
制限事項
データベース名は ' main' と 'temp' は、それぞれプライマリ データベースと一時データベース用に予約されています。競合を防ぐため、接続されたデータベースにこれらの名前を使用しないでください。
以上が異なる SQLite データベース間でテーブルを結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。