是否可以用2个Mysql数据库实现JOIN查询?

时间:2011-08-09 10:33:31

标签: mysql join cross-join

我在一个项目中一起在Moodle和CodeIgnitor工作;我的一些表位于moodle db中,其他表位于另一个数据库中。

是否可以使用两个Mysql数据库实现JOIN查询以获取我们需要的数据?

3 个答案:

答案 0 :(得分:2)

  • 两个数据库都使用相同的守护程序(意思是相同的端口,相同的服务器)
  • 用户帐户足够的ACL 可访问这两个数据库
  • 如果您能够自己构建查询

  • 某些框架/数据建模会限制你这样做(这意味着 CODE 教你如何做SQL,你不能违反他们的规则(除非你的黑客入侵)

答案 1 :(得分:1)

是。

如果DB位于同一服务器上,则可以使用

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

显然你会把你的加入条件放在这里。

答案 2 :(得分:0)

当您引用表和字段时,不要使用“默认”(当前选定的)数据库you can explicitly specify the database name

  

您可以将默认数据库中的表称为tbl_name,或   as db_name.tbl_name以显式指定数据库。你可以参考   列为col_name,tbl_name.col_name或db_name.tbl_name.col_name

但是,我不建议这样做。如果表之间的数据相关,则它们应该位于相同的数据库中。那是有意义的!