2009-09-21 60 views
1

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

select * from admin.table 

获得从其他数据库中的数据,但每个模块(和新的“管理”模块)在CakePHP中创建。我认为一种可能的解决方案是使用类似于同义词的方法(如Oracle或SQL Server中的方法),但MySQL不支持它。有人有更好的主意?由于

+0

同一台服务器上的不同数据库或不同服务器上的不同数据库? – 2009-09-22 12:28:00

+0

同一台服务器上的不同数据库 – segaco 2009-09-22 17:03:59

回答

0

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

0

如何使用意见:

create view admin_table as select * from admin.table 

然后,您只需要设置$tableNameadmin_table

0

我可能是错的,但我想查询是基于

SELECT * FROM database.owner.table ......和隐含的所有者将是“DBO”(数据库所有者)。所以,你可以做到以下几点...

select a1。 ,b1。 from database1.table1 a1,database2.table2 b1其中a1.fld1 = b1.fld1 ...