2

私は1つのプロジェクトでMoodleとCodeIgnitorで一緒に働いています。私のテーブルのいくつかはmoodledbにあり、他のテーブルは別のデータベースにあります。

2つのMysqlデータベースでJOINクエリを実装して、必要なデータをフェッチすることは可能ですか?

4

3 に答える 3

2

はい

  • 両方のデータベースが同じデーモンを使用しています(つまり、同じポート、同じサーバー)
  • ユーザーアカウントには、両方のデータベースにアクセスするのに十分なACLがあります
  • 自分でクエリを作成できる場合

いいえ

  • 特定のフレームワーク/データモデリングはあなたがそうすることを制限します(それはあなたにSQLを行う方法を教えるコードを意味します、そしてあなたは彼らのルールに反することはできません(あなたのハックを入れない限り)
于 2011-08-09T10:44:15.303 に答える
1

はい。

DBが同じサーバー上にある場合は、使用できます

select a.col from db1.table1 a, db2.table2 b where a.col = b.col 

明らかに、ここに結合条件を入れます。

于 2011-08-09T10:38:22.350 に答える
0

はい。

「デフォルト」(現在選択されている) データベースを使用する代わりに、テーブルとフィールドを参照するときにデータベース名を明示的に指定できます。

デフォルト データベース内のテーブルを tbl_name または db_name.tbl_name として参照して、データベースを明示的に指定できます。列は、col_name、tbl_name.col_name、または db_name.tbl_name.col_name として参照できます。

ただし、これはお勧めしません。データがテーブル間で関連付けられている場合、それらは同じデータベースにあると想定されます。それは理にかなっているでしょう!

于 2011-08-09T10:35:36.617 に答える