Mysql外來鍵設定中的CASCADE、NO ACTION、RESTRICT、SET NULL
今天在使用Navicat for mysql設計表時,在設定外來鍵的時候,刪除時和更新時兩列有四個值可以選擇:CASCADE、NO ACTION、RESTRICT、SET NULL,自己全親自試了一遍,它們的區別如下:
- CASCADE:父表delete、update的時候,子表會delete、update掉關聯記錄;
- SET NULL:父表delete、update的時候,子表會將關聯記錄的外來鍵欄位所在列設為null,所以注意在設計子表時外來鍵不能設為not null;
- RESTRICT:如果想要刪除父表的記錄時,而在子表中有關聯該父表的記錄,則不允許刪除父表中的記錄;
- NO ACTION:同 RESTRICT,也是首先先檢查外來鍵;
下面舉一個小例子幫助理解:
(1)在資料庫bookshop中我新建了表a如下:
設定外來鍵:
(2)在資料庫bookshop中我新建了表b如下:
(3)給a、b表插入記錄如下:
這裡:a表id2欄位為外來鍵欄位,參看b表的主鍵,所以b表是父表,a表是子表;然後分別在設定a表外來鍵的時候設定不同的四個值,就可以得出我上述的結論。
相關推薦
Mysql中外鍵的 Cascade ,NO ACTION ,Restrict ,SET NULL
是什麽 支持 含義 ict fault 3.2 let log nod 外鍵約束對子表的含義: 如果在父表中找不到候選鍵,則不允許在子表上進行insert/update 外鍵約束對父表的含義: 在父表上進行update/delete以更新或刪除在子表中有
Mysql外來鍵設定中的CASCADE、NO ACTION、RESTRICT、SET NULL
今天在使用Navicat for mysql設計表時,在設定外來鍵的時候,刪除時和更新時兩列有四個值可以選擇:CASCADE、NO ACTION、RESTRICT、SET NULL,自己全親自試了一遍,它們的區別如下: CASCADE:父表delete、up
MySQL外來鍵設定中的的 Cascad…
. cascade方式 在父表上update/delete記錄時,同步update/delete掉子表的匹配記錄 . set null方式 在父表上update/delete記錄時,將子表上匹配記錄的列設為null 要注意子表的外來鍵列不能為not null . No action方式
Mysql外來鍵約束之CASCADE、SET NULL、RESTRICT、NO ACTION
Mysql中有目前只有InnoDB引擎支援外來鍵約束,InnoDB中外來鍵約束定義的語法如下: ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_NAME] (index_col_name, ...
[轉]MySql外來鍵約束 之CASCADE、SET NULL、RESTRICT、NO ACTION分析和作用
MySQL有兩種常用的引擎型別:MyISAM和InnoDB。目前只有InnoDB引擎型別支援外來鍵約束。InnoDB中外來鍵約束定義的語法如下: ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [ind
MySQL外來鍵更新刪除設定cascade、set null、restrict、no action的區別
1.首先明確一個概念,假如表A(id,name,foreign_id),表B(foreign_id,name),我們說表A參考了表B的主鍵作為其外來鍵使用,所以B表示父表,A表是子表2.刪除和更新有四種設定方式(1)cascade:級聯,當父表更新、刪除,子表會同步更新和刪除
MySQL外鍵設置中的的 Cascade、NO ACTION、Restrict、SET NULL
mysql def TE 記錄 註意 col sql 默認 變更 一、cascade方式 在父表上update/delete記錄時,同步update/delete掉子表的匹配記錄 二、set null方式 在父表上update/delete記錄時,將子表上匹配記錄的列設
MySql 外來鍵約束 FOREIGN KEY REFERENCES 之 空、RESTRICT、NO ACTION、CASCADE、SET NULL 等型別分析和作用解讀
主表,從表【MySql】 空、RESTRICT、NO ACTION 刪除:從表記錄不存在時,主表才可以刪除。刪除從表,主表不變 更新:從表記錄不存在時,主表才可以更新。更新從表,主表不變 CASCADE 刪除:刪除主表時自動刪除從表。刪除從表,主表不變 更新:更新主表時自
mysql 設定外來鍵 四大屬性 CASCADE SET NULL NO ACTION RESTRICT 理解
CASCADE:主表delete、update的時候,從表會delete、update掉關聯記錄; SET NULL:主表delete、update的時候,從表會將關聯記錄的外來鍵欄位所在列設為null,注意在設計從表時外來鍵不能設為not null; NO ACTION:先檢查外來鍵 在從表中是否有關聯
MySQL中外來鍵設定詳解
例項一: 4.1 CREATE TABLE parent(id INT NOT NULL, PRIMARY KEY (id) ) TYPE=INNODB; -- type=innodb 相當於 engine=innodb CR
mysql 外來鍵 cascade
1 . cascade方式在父表上update/delete記錄時,同步update/delete掉子表的匹配記錄 2. set null方式在父表上update/delete記錄時,將子表上匹配記錄的列設為null要注意子表的外來鍵列不能為not null &n
MySQL外來鍵約束_ON DELETE CASCADE/ON UPDATE CASCADE
MySQL通過外來鍵約束實現資料庫的參照完整性,外來鍵約束條件可在建立外來鍵時指定,table的儲存引擎只能是InnoDB,因為只有這種儲存模式才支援外來鍵。 外來鍵約束條件有以下4種: (1)restrict方式:同no action,都是立即檢查外來鍵約束; -
MySQL外來鍵在資料庫中的作用
MySQL外來鍵的目的是控制儲存在外來鍵表中的資料,使兩張表形成關聯,是MySQL資料庫中非常重要的組成部分,值得我們去深入瞭解。那麼,MySQL外來鍵究竟起到哪些作用呢?下文就將帶您一探其中的祕密。 MySQL外來鍵的作用: 保持資料一致性,完整性,主要目的是控制儲
MySQL外來鍵約束_ON DELETE CASCADE/ON UPDATE CASCADE(級聯刪除,刪除主表資料,附表資料也被刪除)
MySQL通過外來鍵約束實現資料庫的參照完整性,外來鍵約束條件可在建立外來鍵時指定,table的儲存引擎只能是InnoDB,因為只有這種儲存模式才支援外來鍵。 外來鍵約束條件有以下4種: (1)restrict方式:同no action,都是立即檢查外來鍵約束; - - 限制
SQL中SQLyog外來鍵設定----------語法
外來鍵設定三種方法: 1.直接寫sql語句. 2.用SQLyog 選擇外來鍵表 ,點選右鍵 選擇關聯/外來鍵,然後再選擇主表,外來鍵. 3.在表 vet_specialties 上點選右鍵 ,然後找到Relationships/ForeignKeys中,然後選擇相
mysql的外來鍵設定的注意點
外來鍵是用於兩個表的資料之間建立連線,可以是一列或者多列,即一個表可以有一個或多個外來鍵。外來鍵可以不是這個表的主鍵,但必須和另外一個表的主鍵相對應(欄位的型別和值必須一樣)。帶有主鍵的那張表稱為父表,含外來鍵的是子表,必須先刪除外來鍵約束才能刪除父表。
MySQL外來鍵新增與刪除
ALTER table erp_bom_detail ADD CONSTRAINT `FK_bom_detail` FOREIGN KEY (`bom_id`) REFERENCES erp_bom(`bom_id`) ALTER 的是子表 alter t
mysql 外來鍵 級聯刪除 級聯更新:Cannot delete or update a parent row: a foreign key constraint fails (`db1`.grade
報錯:Cannot delete or update a parent row: a foreign key constraint fails。 原因:表關聯生成的強制約束問題,在刪除的時候回檢查表之間的關聯關係,從而導致無法刪除,更新 解決辦法: SET foreign_key_c
MySQL(外來鍵變種)
day58 外來鍵的變種 a. 使用者表和部門表
mysql外來鍵理解
一個班級的學生個人資訊表: 什麼是外來鍵 在設計的時候,就給表1加入一個外來鍵,這個外來鍵就是表2中的學號欄位,那麼這樣表1就是主表,表2就是子表。 外來鍵用來幹什麼 為了一張表記錄的資料不要太過冗餘。 這和軟體project的模組