2

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

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

4

3 回答 3

2

是的

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

  • 某些框架/数据建模会限制你这样做(这意味着CODE教你如何执行 SQL,你不能违反他们的规则(除非把你的 hack)
于 2011-08-09T10:44:15.303 回答
1

是的。

如果数据库在同一台服务器上,您可以使用

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 回答