關於MySQL的四種外來鍵約束

2021-08-10 18:48:41 字數 635 閱讀 2628

首先描述的on delete的情況。

1、restrict 當刪除父表中的某條記錄時,會先檢查該條記錄的主鍵是否在字表中被引用,如果被引用,那麼將無法刪除。相反,刪除字表中的記錄,將不會有影響。

2、no action 和restrict 一樣的情況。當刪除父表中的某條記錄時,會先檢查該條記錄的主鍵是否在字表中被引用,如果被引用,那麼將無法刪除。相反,刪除字表中的記錄,將不會有影響。

3、cascade 為級聯操作。當要刪除父表中的某條記錄時,會查詢字表中是否有相應的引用記錄,如果有,那麼字表和父表中的記錄都將刪除。

4、set null 當刪除父表中的記錄時,檢查字表中是否有引用記錄,如果有,當刪除父表中的記錄時,將字表中的引用的主鍵置為null。

再描述on update的情況。

1、restrict  當修改父表中的某條記錄的主鍵時,如果字表中有引用的話,將無法更新。相反,字表中的更改,將不會有影響。

2、no action 和restrict一樣的情況。當修改父表中的某條記錄的主鍵時,如果字表中有引用的話,將無法更新。相反,字表中的更改,將不會有影響。

3、cascade 為級聯操作。當修改父表中的主鍵記錄時,字表會跟著更新。

4、set null 當更新父表中的記錄時,會將字表中引用的外來鍵置為null。

MySQL建立外來鍵約束時四種屬性解釋

alter table selection add constraint fk reference 1 foreign key course references course id on delete restrict on update restrict alter table selectio...

mysql約束與外來鍵 MySQL 外來鍵與約束

外來鍵的建立 建表如下 create table parent id int not null,primary key id type innodb create table child id int,parent id int,foreign key parent id references pa...

mysql中的四種約束

概念 對錶中的資料進行限定,保證資料的正確性 有效性 完整性。分類 1.主鍵約束 primary key 2.非空約束 not null 3.唯一約束 unique 4.外來鍵約束 foreign key 非空約束 not null 值不能為null 1.建立表時新增約束 create table ...