2017-10-05 73 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

不同的數據庫(又名模式)與不同的服務器不一樣,只要它們在同一個服務器實例上,你當然可以在你的查詢中使用多個模式。 –