您的位置:首页 > 数据库 > MySQL

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

2018-01-29 17:11 246 查看
我们在操作MySQL数据库的时候,有时会碰到需要删除父表中的一条记录,但是又要保留其子记录,这时我们就需要将其子记录的外键设置为null;

在SQLyog中就有这样的选择,(在你建立外键的时候没有选择的时候就可以进行这样的操作)



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

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

Set null:删除父记录的时候将其对应的外键设置为null;(注意一点外键不能设置为null)

Cascade:相当于级联删除,在删除父记录的时候将其对应的子记录一并删除

No Action:如果子表中有匹配的记录,则不允许对父记录进行删除操作

Restrict:同 No Action ,都是立即检查外键约束

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql