共計 1125 個字符,預計需要花費 3 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章將為大家詳細講解有關 Navicat for MySQL 建立多表鏈接的操作步驟,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
構建兩張表的多對多關系:清洗數據表(clean_data 表)與用戶表(user 表)建立多對多的關系。如下圖所示:
1. 創建表
. 打開 navicat, 創建三張表,clean_data 表與 user 表,以及兩個表之間的關系表(clean_data_user 表)。
表結構分別如下:
2. 建立外鍵
2.1 首先設置 clean_data_user 表中將要關聯的 cln_dt_id 和 user_id 兩個字段為主鍵。如下圖所示:
2.2 點擊外鍵按鈕,建立外鍵關系。根據字段的命名可想而知,cln_dt_id 將與 clean_data 表中的 id 建立關聯,user_id 與 user 表中的 id 關聯。如下圖所示:
注意事項:
1. 數據庫表多對多建立關系時,一定要首先建立主鍵。如果不首先建立外鍵,會出現 1215 的錯誤,如下圖圖 6 所示。在這個問題上浪費了近兩個小時。實在不該啊。
**
后面才發現,沒必要建主鍵啊,給 cln_td_id 和 user_id 建立索引即可!
**
那么,我們來整理出現 1215 錯誤的原因:
MySQL 中創建外鍵的錯誤:1215 Cannot add the foreign key constraint
1. 兩個字段的類型或者大小不嚴格匹配。其中,兩個字短分別是 int(6) 與 int(7) 也算不匹配。一個是 unsigned(無符號),一個是 signed 也是不匹配的。
2. 試圖設置外鍵的字段沒有建立起索引,或者不是一個 primary key(主鍵)。如果其中一個不是 primary key 的話,你必須先為它創建一個索引。
3. 其中一個或者兩個表是 MyISAM 引擎的表。若想要使用外鍵約束,表必須是 InnoDB 引擎(實際上,如果兩個表都是 MyISAM 引擎的,這個錯誤根本不會發生,但也不會產生外鍵,只會建立索引)你需要檢查表的引擎類型。
4. 外鍵的名字不能重復。
5. 你可能設置了 ON DELETE SET NULL,但是相關的鍵的字段又設置成了 NOTS NULL 值。你可能通過修改 cascade 的屬性值或者把字段屬性設置成 allow null 來解決。
6. 請確定你的 Charset 和 Collate 選項在表級和字段級上的一致。
7. 你可能設置為外鍵設置了一個默認值,如 default=0。
8.ALTER 聲明中有語法錯誤。
關于“Navicat for MySQL 建立多表鏈接的操作步驟”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
向 AI 問一下細節