MySQL| MySQL外键设置级联操作(Cascade, NO ACTION, Restrict, SET NULL)

本文详细介绍了数据库中外键约束的不同级联操作方式,包括CASCADE、SETNULL、RESTRICT、NOACTION等,并解释了每种方式的具体应用场景及注意事项。

cascade方式
在父表上update/delete记录时,同步update/delete掉子表的匹配记录

set null方式
在父表上update/delete记录时,将子表上匹配记录的列设为null
要注意子表的外键列不能为not null

no action方式
如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作

restrict方式
同no action, 都是立即检查外键约束

set default方式
父表有变更时,子表将外键列设置成一个默认的值 但Innodb不能识别.


CASCADE:父表delete、update的时候,子表会delete、update掉关联记录;
SET NULL:父表delete、update的时候,子表会将关联记录的外键字段所在列设为null,所以注意在设计子表时外键不能设为not null;
RESTRICT:如果想要删除父表的记录时,而在子表中有关联该父表的记录,则不允许删除父表中的记录;
NO ACTION:同 RESTRICT,也是首先先检查外键;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值