2017-10-05 70 views
0

我的工作台本地主机和远程服务器实例shopify_data(默认模式sales_report)上有两个不同的实例。现在,我想从本地主机中的表邮政编码以及sales_report中远程服务器shopify_data中另一个表shopify_orders中的其他字段获取数据。mysql工作台连接多个数据库

查询看起来像:

SELECT Name, billing_zip, Billing_Name, Billing_Address1,Billing_Address2, Lineitem_name, Created_at 
    FROM sales_report.shopify_orders 
WHERE Created_at between '2017-08-31' and '2017-09-21' and Billing_Zip in (select zip_code from zipcode); 

它提供了错误:

sales_report.shopify_orders does not exists.

如何将我的本地主机实例与shopify_data实例连接,并获取数据在同一查询中。

谢谢。

迪帕克

PS:我不想给shopify_orders导入到本地主机的值保持动态与每个订单变化,我不想再重复输入

回答

0

这是不可能访问存储在不同服务器上的数据通过单一连接与MySQL连接。您总是打开一个连接到单个服务器的连接,并可以使用该连接上可用的数据库对象(前提是您拥有相应的权限)。

我应该加上federated tables的选项。更精确地说,它是一个存储引擎,它允许在本地表中的远程服务器上托管数据,从而可以与本地和远程数据进行连接。但是这需要首先定义这样的表格,并且不能使用FK(并且还有其他限制)。

+0

谢谢你的回应,这不是反直觉,虽然连接不同的数据库的想法是玩弄和跨越他们,但可悲的是这是可行的,但有很多限制:( –

+0

不同的数据库(又名模式)与不同的服务器不一样,只要它们在同一个服务器实例上,你当然可以在你的查询中使用多个模式。 –