MySQL----删除主记录保留子记录,或者级联删除

我们在操作MySQL数据库的时候,有时会碰到需要删除父表中的一条记录,但是又要保留其子记录,这时我们就需要将其子记录的外键设置为null;
在SQLyog中就有这样的选择,(在你建立外键的时候没有选择的时候就可以进行这样的操作)
这里写图片描述

这里我们只是讲解关于删除的选项,然后这边的更新我没有尝试过,因为目前的业务中没有使用到过

在这里我们就可以进行设置,

Set null:删除父记录的时候将其对应的外键设置为null;(注意一点外键不能设置为null)
Cascade:相当于级联删除,在删除父记录的时候将其对应的子记录一并删除
No Action:如果子表中有匹配的记录,则不允许对父记录进行删除操作
Restrict:同 No Action ,都是立即检查外键约束

当我选择 Set null 的时候,DELETE FROM 父表 WHERE id=1 id=1的这一条记录有其对应的子记录,这时我们删除后对应的外键就将会为 null
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值