這篇文章將為大家詳細(xì)講解有關(guān)Navicat for MySQL建立多表鏈接的操作步驟,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
目前創(chuàng)新互聯(lián)建站已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、姜堰網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。構(gòu)建兩張表的多對多關(guān)系:清洗數(shù)據(jù)表(clean_data表)與用戶表(user表)建立多對多的關(guān)系。如下圖所示:
1.創(chuàng)建表
.打開navicat,創(chuàng)建三張表,clean_data表與user表,以及兩個(gè)表之間的關(guān)系表(clean_data_user表)。
表結(jié)構(gòu)分別如下:
2.建立外鍵
2.1首先設(shè)置clean_data_user表中將要關(guān)聯(lián)的cln_dt_id和user_id兩個(gè)字段為主鍵。如下圖所示:
2.2點(diǎn)擊外鍵按鈕,建立外鍵關(guān)系。根據(jù)字段的命名可想而知,cln_dt_id將與clean_data表中的id建立關(guān)聯(lián),user_id與user表中的id關(guān)聯(lián)。如下圖所示:
注意事項(xiàng):
1.數(shù)據(jù)庫表多對多建立關(guān)系時(shí),一定要首先建立主鍵。如果不首先建立外鍵,會(huì)出現(xiàn)1215的錯(cuò)誤,如下圖圖6所示。在這個(gè)問題上浪費(fèi)了近兩個(gè)小時(shí)。實(shí)在不該啊。
**
后面才發(fā)現(xiàn),沒必要建主鍵啊,給cln_td_id和user_id建立索引即可!
**
那么,我們來整理出現(xiàn)1215錯(cuò)誤的原因:
MySQL中創(chuàng)建外鍵的錯(cuò)誤:1215 Cannot add the foreign key constraint
1.兩個(gè)字段的類型或者大小不嚴(yán)格匹配。 其中,兩個(gè)字短分別是int(6)與int(7)也算不匹配。一個(gè)是unsigned(無符號),一個(gè)是signed也是不匹配的。
2.試圖設(shè)置外鍵的字段沒有建立起索引,或者不是一個(gè)primary key(主鍵)。如果其中一個(gè)不是primary key的話,你必須先為它創(chuàng)建一個(gè)索引。
3.其中一個(gè)或者兩個(gè)表是MyISAM引擎的表。若想要使用外鍵約束,表必須是InnoDB引擎(實(shí)際上,如果兩個(gè)表都是MyISAM 引擎的,這個(gè)錯(cuò)誤根本不會(huì)發(fā)生,但也不會(huì)產(chǎn)生外鍵,只會(huì)建立索引)你需要檢查表的引擎類型。
4.外鍵的名字不能重復(fù)。
5.你可能設(shè)置了ON DELETE SET NULL,但是相關(guān)的鍵的字段又設(shè)置成了NOTS NULL值。你可能通過修改cascade的屬性值或者把字段屬性設(shè)置成allow null來解決。
6.請確定你的Charset和Collate選項(xiàng)在表級和字段級上的一致。
7.你可能設(shè)置為外鍵設(shè)置了一個(gè)默認(rèn)值,如default=0。
8.ALTER聲明中有語法錯(cuò)誤。
關(guān)于“Navicat for MySQL建立多表鏈接的操作步驟”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。
分享名稱:NavicatforMySQL建立多表鏈接的操作步驟-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://www.rwnh.cn/article26/ddccjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、軟件開發(fā)、網(wǎng)站排名、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容