91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Navicat如何添加外鍵

發布時間:2021-03-16 15:38:52 來源:億速云 閱讀:179 作者:小新 欄目:數據庫

小編給大家分享一下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如何添加外鍵”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

苏尼特左旗| 柞水县| 潞城市| 永仁县| 仪陇县| 文山县| 台南市| 承德市| 孝感市| 浪卡子县| 石狮市| 宕昌县| 新乡市| 和田县| 陈巴尔虎旗| 石首市| 赞皇县| 宽甸| 渝中区| 和静县| 邢台县| 琼结县| 浦东新区| 肇庆市| 汨罗市| 内乡县| 驻马店市| 民勤县| 安乡县| 荆州市| 南郑县| 三台县| 武乡县| 宜昌市| 沾益县| 罗城| 长垣县| 文山县| 平山县| 阿图什市| 富阳市|