婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Navicat添加外鍵詳細操作步驟

Navicat添加外鍵詳細操作步驟

熱門標簽:河北便宜電銷機器人軟件 南昌呼叫中心外呼系統哪家好 泗洪正規電話機器人找哪家 湖南保險智能外呼系統產品介紹 ai電話電話機器人 怎么申請400熱線電話 怎么去開發一個電銷機器人 簡單的智能語音電銷機器人 小程序智能電話機器人

前言

用Navicat為mysql數據庫的兩個表之間建立外鍵關系,出現“cannot add foreign key constraint”錯誤,操作了很久不知道怎么回事,發現竟然是。。。。

正文

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

打開student的設計表。

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

當勾選允許為空之后

再去保存就可以了。

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

總結一下:

外鍵條件

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

  • 外鍵要存在,首先必須保證表的引擎是 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添加外鍵詳細操作步驟的文章就介紹到這了,更多相關Navicat添加外鍵內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • navicat無法遠程連接mysql的解決方法
  • 使用navicat 8實現創建數據庫和導入數據 管理用戶與權限[圖文方法]
  • Navicat查詢結果不能修改的原因及解決方法
  • navicat連接mysql出現2059錯誤的解決方法
  • MySQL數據庫安裝和Navicat for MySQL配合使用教程

標簽:威海 江蘇 瀘州 柳州 荊門 淮安 那曲 景德鎮

巨人網絡通訊聲明:本文標題《Navicat添加外鍵詳細操作步驟》,本文關鍵詞  Navicat,添加,外鍵,詳細,操作步驟,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Navicat添加外鍵詳細操作步驟》相關的同類信息!
  • 本頁收集關于Navicat添加外鍵詳細操作步驟的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 南康市| 陕西省| 巫溪县| 图木舒克市| 安阳县| 广宁县| 许昌市| 班玛县| 静海县| 金塔县| 恩平市| 巴南区| 日土县| 景洪市| 皮山县| 南靖县| 太和县| 陆丰市| 多伦县| 肇州县| 张家川| 于都县| 新营市| 琼中| 安福县| 剑河县| 舟山市| 海原县| 班戈县| 西吉县| 湘阴县| 永州市| 濮阳市| 民乐县| 南华县| 隆尧县| 旌德县| 南雄市| 四川省| 萨迦县| 安庆市|