本篇文章為大家展示了怎么在Navicat中添加外鍵,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)建站是專業(yè)的海興網(wǎng)站建設(shè)公司,海興接單;提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行海興網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!前言
用Navicat為mysql數(shù)據(jù)庫的兩個(gè)表之間建立外鍵關(guān)系,出現(xiàn)“cannot add foreign key constraint”錯(cuò)誤,操作了很久不知道怎么回事,發(fā)現(xiàn)竟然是。。。。
正文
想要建立class表與student表之間的外鍵連接,class為父表,student為子表
打開student的設(shè)計(jì)表。
如果c_id不允許為空則當(dāng),選擇刪除時(shí)-->>SET NULL就會(huì)出現(xiàn)Cannot add foreign key constraint的提示,這是因?yàn)閯h除置空有條件,必須滿足字段允許為空(如果不滿足,外鍵無法創(chuàng)建)當(dāng)然,如果不允許為空,可以選擇刪除時(shí)-->>CASCADE也可以建立外鍵。
當(dāng)勾選允許為空之后
再去保存就可以了。
還有必須注意,Engin必須為InnoDB。
總結(jié)一下:
外鍵條件
在我們使用外鍵的時(shí)候,應(yīng)該遵循如下條件:
外鍵約束
所謂外鍵約束,就是指外鍵的作用。之前所講的外鍵的作用都是默認(rèn)的作用,實(shí)際上,可以通過對(duì)外鍵的需求,進(jìn)行定制操作。
外鍵約束有三種模式,分別為:
district
:嚴(yán)格模式(默認(rèn)),父表不能刪除或更新一個(gè)已經(jīng)被子表數(shù)據(jù)引用的記錄;cascade
:級(jí)聯(lián)模式,父表的操作,對(duì)應(yīng)子表關(guān)聯(lián)的數(shù)據(jù)也跟著被刪除;set null
:置空模式,父表的操作之后,子表對(duì)應(yīng)的數(shù)據(jù)(外鍵字段)被置空。設(shè)計(jì)外鍵的界面,有七列:
上述內(nèi)容就是怎么在Navicat中添加外鍵,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。