欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL外鍵約束的刪除和更新總結(jié)

 更新時(shí)間:2024年02月18日 09:55:03   作者:Aileen_0v0  
這篇文章主要給大家總結(jié)MySQL外鍵約束的刪除和更新,文中通過(guò)代碼示例和圖文介紹的非常詳細(xì),對(duì)大家了解MySQL外鍵約束有一定的幫助,需要的朋友可以參考下

外鍵約束

外鍵約束的刪除/更新行為

行為說(shuō)明
NO ACTION當(dāng)在父表中刪除/更新對(duì)應(yīng)記錄時(shí),首先檢查該記錄是否有對(duì)應(yīng)外鍵,如果有則不允許刪除/更新。(與RESTRICT一致)
RESTRICT當(dāng)在父表中刪除/更新對(duì)應(yīng)記錄時(shí),首先檢查該記錄是否有對(duì)應(yīng)外鍵,如果有則不允許刪除/更新。(與NOT ACTION一致)
CASCADE當(dāng)在父表中刪除/更新對(duì)應(yīng)記錄時(shí),首先檢查該記錄是否有對(duì)應(yīng)外鍵,如果有,則也刪除/更新外鍵在子表總的記錄。
SET NULL當(dāng)在父表中刪除對(duì)應(yīng)記錄時(shí),首先檢查該記錄是否有對(duì)應(yīng)外鍵,如果有則設(shè)置該子表中該外鍵值為null(這就要求該外鍵允許取null)。
SET DEFAULT父表有變更時(shí),子表將外鍵列設(shè)置為一個(gè)默認(rèn)的值(innodb不支持)

alter table 表名 add constraint 外鍵名稱 references 主表名(主表字段名) on update cascade on delete cascade

-- 添加外鍵約束并指定外鍵的刪除和更新行為
alter table emp add constraint fk_emp_dept_id foreign key (dept_id) references dept(id) on update cascade on delete cascade ;

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

將父表dept中的研發(fā)部的id改為6,emp表中的id也會(huì)跟著改變

在這里插入圖片描述

當(dāng)我們刪除父表中id為6,我們可以看到子表emp中存在外鍵關(guān)聯(lián)的數(shù)據(jù)也會(huì)被刪除。 說(shuō)明:如果子表與父表存在外鍵關(guān)聯(lián),刪除父表的數(shù)據(jù)也會(huì)影響子表。

在這里插入圖片描述

演示2:

現(xiàn)在我們先刪除剛剛創(chuàng)建的emp和dept這兩張表,然后重新創(chuàng)建。然后通過(guò)命令行進(jìn)行emp表的外鍵的添加。

-- 添加外鍵約束并指定外鍵的刪除和更新行為

alter table emp add constraint fk_emp_dept_id foreign key (dept_id) references dept(id) on update set null on delete set null ;

測(cè)試:

刪除dept表中的第一行,然后刷新,我們可以看到emp表中的id為1的數(shù)據(jù)全部置為null了。

在這里插入圖片描述

在這里插入圖片描述

通過(guò)圖形化界面創(chuàng)建

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

選中預(yù)修改的表,然后點(diǎn)擊modify table,再點(diǎn)擊foreign keys ,雙擊命令,我們可以在這里修改更新和刪除的規(guī)則,改完以后點(diǎn)擊execute執(zhí)行即可.

總結(jié)

在這里插入圖片描述

以上就是MySQL外鍵約束的刪除和更新總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于MySQL外鍵約束的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論