日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

navicat 8 mysql生成关系_MySQL数据库通过navicat建立多对多关系

發布時間:2025/3/19 数据库 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 navicat 8 mysql生成关系_MySQL数据库通过navicat建立多对多关系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

**

構建兩張表的多對多關系:清洗數據表(clean_data表)與用戶表(user表)建立多對多的關系。如下圖圖0所示

圖0 多對多之間關系

1 創建表

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

表結構分別如下:

圖1 clean_data設計表

圖2 user設計表

圖3 clean_data_user設計表

2.建立外鍵

2.1首先設置clean_data_user表中將要關聯的cln_dt_id和user_id兩個字段為主鍵。如下圖圖4所示。

圖4 設置兩字段cln_td_id和user_id為主鍵

2.2點擊外鍵按鈕,建立外鍵關系。根據字段的命名可想而知,cln_dt_id將與clean_data表中的id建立關聯,user_id與user表中的id關聯。如下圖圖5所示。

圖5 建立外鍵關系

注意事項:

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

**

后面才發現,沒必要建主鍵啊,給cln_td_id和user_id建立索引即可!

**

圖6 1215錯誤

那么,我們來整理出現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聲明中有語法錯誤.

---------------------

作者:梧桐林木

來源:CSDN

原文:https://blog.csdn.net/wu18663419760/article/details/71700304?utm_source=copy

版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

總結

以上是生活随笔為你收集整理的navicat 8 mysql生成关系_MySQL数据库通过navicat建立多对多关系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。