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

Mysql外鍵設(shè)置中的CASCADE、NO ACTION、RESTRICT、SET NULL

 更新時(shí)間:2022年07月28日 11:39:01   作者:雅靜8  
本文主要介紹了Mysql外鍵設(shè)置中的CASCADE、NO ACTION、RESTRICT、SET NULL,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

今天在使用Navicat for mysql設(shè)計(jì)表時(shí),在設(shè)置外鍵的時(shí)候,刪除時(shí)和更新時(shí)兩列有四個(gè)值可以選擇:CASCADE、NO ACTION、RESTRICT、SET NULL,自己全親自試了一遍,它們的區(qū)別如下:

  • CASCADE:父表delete、update的時(shí)候,子表會(huì)delete、update掉關(guān)聯(lián)記錄;
  • SET NULL:父表delete、update的時(shí)候,子表會(huì)將關(guān)聯(lián)記錄的外鍵字段所在列設(shè)為null,所以注意在設(shè)計(jì)子表時(shí)外鍵不能設(shè)為not null;
  • RESTRICT:如果想要?jiǎng)h除父表的記錄時(shí),而在子表中有關(guān)聯(lián)該父表的記錄,則不允許刪除父表中的記錄;
  • NO ACTION:同 RESTRICT,也是首先先檢查外鍵;
空、RESTRICT、NO ACTION刪除:從表記錄不存在時(shí),主表才可以刪除,刪除從表,主表不變。
更新:從表記錄不存在時(shí),主表菜可以更新,更新從表,主表不變。
CASCADE刪除:刪除主表時(shí)自動(dòng)刪除從表。刪除從表,主表不變。
更新:更新主表時(shí)自動(dòng)更新從表。更新從表,主表不變。
SET NULL刪除:刪除主表時(shí)自動(dòng)更新從表為NULL,刪除從表,主表不變。
更新:更新主表時(shí)自動(dòng)更新從表值為NULL。更新從表,主表不變。

下面舉一個(gè)小例子幫助理解:

(1)在數(shù)據(jù)庫bookshop中我新建了表a如下:

這里寫圖片描述

設(shè)置外鍵:

這里寫圖片描述

(2)在數(shù)據(jù)庫bookshop中我新建了表b如下:

這里寫圖片描述

(3)給a、b表插入記錄如下:

這里寫圖片描述

這里寫圖片描述

這里:a表id2字段為外鍵字段,參看b表的主鍵,所以b表是父表,a表是子表;然后分別在設(shè)置a表外鍵的時(shí)候設(shè)置不同的四個(gè)值,就可以得出我上述的結(jié)論。

到此這篇關(guān)于Mysql外鍵設(shè)置中的CASCADE、NO ACTION、RESTRICT、SET NULL的文章就介紹到這了,更多相關(guān)Mysql CASCADE NO ACTION RESTRICT SET NULL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論