Mysql外键级联操作

当mysql数据表设置了外键约束的时候,我们通常要遵循它的一些规则来操作。
如:
1、如果主表没有相关的记录,从表不能插入。
2、先插入主表数据后再插入从表数据。
3、删除时先删除从表记录再删除主表记录。

然而在更新的时候如果我们想更新主表时,同步更新从表。此时就需要用到级联操作了。
在删除或者更新的时候,我们可以通过设置不同的级联方式来方便我们进行约束和相应操作。

 . cascade方式(俗称联表)
在主表上更新或者删除记录时,从表也会执行相应操作 

 . set null方式
在主表上update/delete记录时,将从表上匹配记录的列设为null(即表示从表数据不指向主表任何记录)
要注意子表的外键列不能为not null  

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

 . Restrict方式
同no action, 都是立即检查外键约束(拒绝主表的相应操作)

 . Set default方式
主表有变更时,从表将外键列设置成一个默认的值 但Innodb不能识别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值