久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Navicat如何添加外鍵

187次閱讀
沒有評論

共計 1139 個字符,預計需要花費 3 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

丸趣 TV 小編給大家分享一下 Navicat 如何添加外鍵,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

正文

想要建立 class 表與 student 表之間的外鍵連接,class 為父表,student 為子表

Navicat 如何添加外鍵

Navicat 如何添加外鍵

打開 student 的設計表。

Navicat 如何添加外鍵

Navicat 如何添加外鍵

如果 c_id 不允許為空則當,選擇刪除時 – SET NULL 就會出現 Cannot add foreign key constraint 的提示,這是因為刪除置空有條件,必須滿足字段允許為空(如果不滿足,外鍵無法創建)當然,如果不允許為空,可以選擇刪除時 – CASCADE 也可以建立外鍵。

Navicat 如何添加外鍵

當勾選允許為空之后

Navicat 如何添加外鍵

再去保存就可以了。

還有必須注意,Engin 必須為 InnoDB。

Navicat 如何添加外鍵

總結一下:

外鍵條件

在我們使用外鍵的時候,應該遵循如下條件:

外鍵要存在,首先必須保證表的引擎是 InnoDB(默認的存儲引擎),如果不是 InnoDB 存儲引擎,那么外鍵可以創建成功,但沒有約束作用;

外鍵字段的字段類型(列類型),必須與父表的主鍵類型完全一致;

每張表中的外鍵名稱不能重復;

增加外鍵的字段,如果數據已經存在,那么要保證數據與父表中的主鍵對應。

如果外鍵約束模式選擇 SET NULL,那么字段必須允許為 NULL,否則出現 Cannot add foreign key constraint。

外鍵約束

所謂外鍵約束,就是指外鍵的作用。之前所講的外鍵的作用都是默認的作用,實際上,可以通過對外鍵的需求,進行定制操作。

外鍵約束有三種模式,分別為:

district:嚴格模式(默認),父表不能刪除或更新一個已經被子表數據引用的記錄;

cascade:級聯模式,父表的操作,對應子表關聯的數據也跟著被刪除;

set null:置空模式,父表的操作之后,子表對應的數據(外鍵字段)被置空。

  設計外鍵的界面,有七列:

名(name):可以不填,保存時會自動生成。

欄位(FieldName):要設置的外鍵,如:student 里的 c_id

參考數據庫(Reference DataBase):外鍵關聯的數據庫

被參考表(Reference Table):關聯的表,這里是 class 表

參考欄位(Forgin filed Names):關聯的字段,class 里的 id

刪除時(ondelete):刪除時候的動作,當時我選擇的是 SETNULL

更新時(onupdate):更新時候的動作,我選擇的是 CASCADE

以上字段也可以按照自己的需求填寫,設置完成后保存即可。

某個表已經有記錄了,添加外鍵失敗,這時候只需要將兩個要關聯的表中的數據清空再從新添加外鍵關系即可。

看完了這篇文章,相信你對“Navicat 如何添加外鍵”有了一定的了解,如果想了解更多相關知識,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計1139字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 达州市| 石狮市| 台湾省| 鹤岗市| 高邮市| 县级市| 襄汾县| 盈江县| 马尔康县| 建昌县| 福泉市| 宣城市| 内黄县| 甘谷县| 怀远县| 罗山县| 芦山县| 青川县| 兴文县| 荆州市| 禄丰县| 榕江县| 鄂伦春自治旗| 肥城市| 翁源县| 沧州市| 长春市| 郯城县| 长寿区| 理塘县| 玉树县| 维西| 永清县| 奎屯市| 和静县| 鹤峰县| 吉木乃县| 鄂托克前旗| 梓潼县| 文安县| 万全县|