2016-07-29 94 views

回答

1

数据库彼此隔离,无法使用一条SQL语句访问不同数据库中的数据。这不是一个错误,而是一个设计特性。

有三种方式来实现你想要什么:

  1. 不要将数据在不同的数据库,但在不同的模式中的一个数据库。对于MySQL更有经验的人来说,将属于多个数据库中的一个应用程序的数据分开并尝试加入它们是一个常见的错误。这是因为MySQL中的术语数据库大致等于(标准)SQL中称为模式的内容。

  2. 如果您不能完成上述操作,例如由于数据确实属于不同的应用程序,因此可以使用PostgreSQL foreign data wrapper。这使您能够访问来自不同数据库(甚至不同机器)的表,就好像它们是本地表一样。您必须更仔细地编写您的语句,因为如果需要在数据库之间传输大量数据,复杂查询有时效率会很低。

  3. 您可以使用dblink,这是一个比外部数据包装器更老,更舒适的界面,但可以让您执行其他方式无法做的事情,如调用远程函数。

相关问题