如何在mysql中访问数据库之间的数据?

时间:2009-09-21 21:13:41

标签: mysql cakephp

我正在一个分为多个模块的项目中工作。每个模块在mysql中都有自己独立的数据库,但现在,模块需要在它们之间获取数据。例如,我们将开发一个新的“admin”模块,其他所有模块都需要访问“admin”数据库中的数据。我知道我可以像

那样进行查询
select * from admin.table

从其他数据库获取数据,但每个模块(以及新的“admin”模块)都是在CakePHP中创建的。我认为一种可能的解决方案是使用类似别名(如Oracle或SQL Server中的那些),但MySQL不支持它。有人有更好的主意吗?感谢

3 个答案:

答案 0 :(得分:0)

如何使用视图:

create view admin_table as select * from admin.table

然后,您只需将$tableName设置为admin_table即可。

答案 1 :(得分:0)

我可能错了,但我认为查询是基于

从database.owner.table中选择* ...隐含的所有者将是“dbo”(数据库所有者)。所以,你可能会做到以下几点......

从database1.table1 a1,database2.table2 b1中选择a1。,b1。,其中a1.fld1 = b1.fld1 ...

答案 2 :(得分:0)

我有一种感觉CakePHP可以处理跨数据库关系。尝试将每个模型的$useDbConfig设置为相应数据库的连接。 CakePHP应生成多个查询(每个数据库连接至少一个)并将结果连接在一起。这种方法应该适用于简单的关系,但可能没有完全支持HABTM之类的关系。