溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Navicat for MySQL建立多表鏈接的操作步驟

發(fā)布時間:2020-12-25 10:47:57 來源:億速云 閱讀:3307 作者:小新 欄目:數(shù)據(jù)庫

這篇文章將為大家詳細講解有關(guān)Navicat for MySQL建立多表鏈接的操作步驟,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

構(gòu)建兩張表的多對多關(guān)系:清洗數(shù)據(jù)表(clean_data表)與用戶表(user表)建立多對多的關(guān)系。如下圖所示:

Navicat for MySQL建立多表鏈接的操作步驟

1.創(chuàng)建表

.打開navicat,創(chuàng)建三張表,clean_data表與user表,以及兩個表之間的關(guān)系表(clean_data_user表)。

表結(jié)構(gòu)分別如下:

Navicat for MySQL建立多表鏈接的操作步驟

Navicat for MySQL建立多表鏈接的操作步驟

Navicat for MySQL建立多表鏈接的操作步驟

2.建立外鍵

2.1首先設(shè)置clean_data_user表中將要關(guān)聯(lián)的cln_dt_id和user_id兩個字段為主鍵。如下圖所示:

Navicat for MySQL建立多表鏈接的操作步驟

2.2點擊外鍵按鈕,建立外鍵關(guān)系。根據(jù)字段的命名可想而知,cln_dt_id將與clean_data表中的id建立關(guān)聯(lián),user_id與user表中的id關(guān)聯(lián)。如下圖所示:

Navicat for MySQL建立多表鏈接的操作步驟

注意事項:

1.數(shù)據(jù)庫表多對多建立關(guān)系時,一定要首先建立主鍵。如果不首先建立外鍵,會出現(xiàn)1215的錯誤,如下圖圖6所示。在這個問題上浪費了近兩個小時。實在不該啊。

**

后面才發(fā)現(xiàn),沒必要建主鍵啊,給cln_td_id和user_id建立索引即可!

**

Navicat for MySQL建立多表鏈接的操作步驟

那么,我們來整理出現(xiàn)1215錯誤的原因:

MySQL中創(chuàng)建外鍵的錯誤:1215 Cannot add the foreign key constraint

1.兩個字段的類型或者大小不嚴格匹配。 其中,兩個字短分別是int(6)與int(7)也算不匹配。一個是unsigned(無符號),一個是signed也是不匹配的。

2.試圖設(shè)置外鍵的字段沒有建立起索引,或者不是一個primary key(主鍵)。如果其中一個不是primary key的話,你必須先為它創(chuàng)建一個索引。

3.其中一個或者兩個表是MyISAM引擎的表。若想要使用外鍵約束,表必須是InnoDB引擎(實際上,如果兩個表都是MyISAM 引擎的,這個錯誤根本不會發(fā)生,但也不會產(chǎn)生外鍵,只會建立索引)你需要檢查表的引擎類型。

4.外鍵的名字不能重復。

5.你可能設(shè)置了ON DELETE SET NULL,但是相關(guān)的鍵的字段又設(shè)置成了NOTS NULL值。你可能通過修改cascade的屬性值或者把字段屬性設(shè)置成allow null來解決。

6.請確定你的Charset和Collate選項在表級和字段級上的一致。

7.你可能設(shè)置為外鍵設(shè)置了一個默認值,如default=0。

8.ALTER聲明中有語法錯誤。

關(guān)于“Navicat for MySQL建立多表鏈接的操作步驟”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI