您好,登錄后才能下訂單哦!
這篇文章主要介紹了mysql之跨庫關(guān)聯(lián)查詢問題怎么解決的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇mysql之跨庫關(guān)聯(lián)查詢問題怎么解決文章都會(huì)有所收獲,下面我們一起來看看吧。
mysql是不支持跨庫連接的,如果我們實(shí)在要連接的話可以用dblink方式
。
解釋:
dblink就是我們?cè)趧?chuàng)建表的時(shí)候連接到我們的遠(yuǎn)程庫,然后我們本地新建的表數(shù)據(jù)就是映射遠(yuǎn)程的表的數(shù)據(jù)。
當(dāng)我們創(chuàng)建一個(gè)以FEDERATED為存儲(chǔ)引擎的表時(shí),服務(wù)器在數(shù)據(jù)庫目錄只創(chuàng)建一個(gè)表定義文件。
文件由表的名字開始,并有一個(gè)frm擴(kuò)展名。
無其它文件被創(chuàng)建,因?yàn)閷?shí)際的數(shù)據(jù)在一個(gè)遠(yuǎn)程數(shù)據(jù)庫上。這不同于為本地表工作的存儲(chǔ)引擎的方式。
如我現(xiàn)在本地要連接我的阿里云的sys_user表
所以我需要在本地建一個(gè)相同字段的表,我取名叫sys_user_copy,并連接到遠(yuǎn)程庫
建好后,我本地sys_user_copy的表里面的數(shù)據(jù)是映射遠(yuǎn)程的表的數(shù)據(jù)
所以我關(guān)聯(lián)查詢,可以直接關(guān)聯(lián)我本地sys_user_copy表從而查出來。
改了本地的數(shù)據(jù),遠(yuǎn)程的表數(shù)據(jù)也會(huì)跟著變
show engines
如果這里是NO,需要在配置文件[mysqld]中加入一行:federated
改完重啟服務(wù),就變成yes了。
CREATE TABLE (......) ENGINE =FEDERATED CONNECTION='mysql://username:password@hostname:port/database/tablename'
這樣即可。
1、本地表結(jié)構(gòu)必須與遠(yuǎn)程表完全一樣
2、不支持事務(wù)
3、不支持表結(jié)構(gòu)修改
4、刪除本地表,遠(yuǎn)程表不會(huì)刪除5、遠(yuǎn)程服務(wù)器必須是一個(gè)MySQL服務(wù)器
關(guān)于“mysql之跨庫關(guān)聯(lián)查詢問題怎么解決”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“mysql之跨庫關(guān)聯(lián)查詢問題怎么解決”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。