複数のデータベースの同時クエリ
複数のデータベースにわたるデータへのアクセスは、特に複数のデータベースにまたがる特定の情報をクエリする場合、複雑なタスクになる可能性があります。
シナリオ
それぞれが異なる WordPress サイトを表す、複数の個別の WordPress データベースがある状況を考えてみましょう。機能を更新するには、各 WordPress インスタンスのアクティブなプラグインのリストをクエリする必要があります。アクティブなプラグインは、WHERE 句を使用して「wp_options」テーブルに保存されます。
WHERE option_name = 'active_plugins'
チャレンジ
課題は、すべてのデータベースからアクティブなプラグイン情報を取得して表示することにあります。それは単一の SQL 結果として返されます。 Database.tablename 構文はわかっていますが、複数のデータベースに WHERE ステートメントを適用する方法を決定する方法は依然として問題です。
解決策
複数のデータベースを同時にクエリするには、UNION を使用します。オペレーターを雇用することも可能です。 UNION 演算子は、複数の SELECT ステートメントを 1 つの結果に結合します。 UNION 演算子を使用すると、各データベースの結果を 1 つの統合された SQL 結果にシームレスにマージできます。
次の SQL クエリは、これを実現する方法の例です。
SELECT option_value FROM `database1`.`wp_options` WHERE option_name="active_plugins" UNION SELECT option_value FROM `database2`.`wp_options` WHERE option_name="active_plugins"
このクエリは、アクティブなクエリを取得します。 「database1」と「database2」の両方からプラグイン データを取得し、結果を単一の包括的な結果セットに照合します。
以上が複数のデータベースに同時にクエリを実行してデータを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。