22.删除级联和更新级联

首先,我们说一下级联有什么用。
我们知道,对于之气那种主外键,我们如果存在约束的话,我们是不可以随意更改主外键的数据的。但是如果存在级联的话,你通过删除或者更改主键的数据的话,那么外键的数据也会被删掉或者更新。
删除级联指的是:当删除主键数据时,有删除级联关系的外键的数据也会被删除。
更新级联指的是:当更改主键数据时,有更新级联关系的外键的数据也会被更新。

接下来,我们说一下删除级联和更新级联的使用:

alter table Reports add
constraint FK_Cno foreign key(Cno) references Courses 
on delete cascade on update cascade,
constraint FK_Sno foreign key(Sno) references Students 
on delete cascade on update cascade

on delete cascade是删除级联
on update cascade是更新级联

注意:如果两个都有的话,中间不需要逗号“,”
如果只需要一个的话,那么就少写一个,比如:

alter table Reports add
constraint FK_Cno foreign key(Cno) references Courses 
on delete cascade

那么Cno只有删除级联。
对于更新级联也一样。

你可能感兴趣的:(SQL笔记)