MySQL----删除主记录保留子记录,或者级联删除
2018-01-29 17:11
246 查看
我们在操作MySQL数据库的时候,有时会碰到需要删除父表中的一条记录,但是又要保留其子记录,这时我们就需要将其子记录的外键设置为null;
在SQLyog中就有这样的选择,(在你建立外键的时候没有选择的时候就可以进行这样的操作)
这里我们只是讲解关于删除的选项,然后这边的更新我没有尝试过,因为目前的业务中没有使用到过
在这里我们就可以进行设置,
Set null:删除父记录的时候将其对应的外键设置为null;(注意一点外键不能设置为null)
Cascade:相当于级联删除,在删除父记录的时候将其对应的子记录一并删除
No Action:如果子表中有匹配的记录,则不允许对父记录进行删除操作
Restrict:同 No Action ,都是立即检查外键约束
当我选择 Set null 的时候,
在SQLyog中就有这样的选择,(在你建立外键的时候没有选择的时候就可以进行这样的操作)
这里我们只是讲解关于删除的选项,然后这边的更新我没有尝试过,因为目前的业务中没有使用到过
在这里我们就可以进行设置,
Set null:删除父记录的时候将其对应的外键设置为null;(注意一点外键不能设置为null)
Cascade:相当于级联删除,在删除父记录的时候将其对应的子记录一并删除
No Action:如果子表中有匹配的记录,则不允许对父记录进行删除操作
Restrict:同 No Action ,都是立即检查外键约束
当我选择 Set null 的时候,
DELETE FROM 父表 WHERE id=1id=1的这一条记录有其对应的子记录,这时我们删除后对应的外键就将会为 null
相关文章推荐
- mysql如何删除表中的重复行并保留id较小(或者较大)的记录
- MYSQL删除一个字段相同记录,保留ID最小记录
- 关于mysql中删除重复记录,并保留重复数据中的一条数据的SQL语句理解
- MySQL删除重复记录只保留一条
- mysql删除重复记录只保留一条数据
- Mysql删除重复记录,保留id最小的一条
- mysql删除无主键表中重复记录(只保留一条记录)
- mysql 查找重复的字段,并删除记录只保留一条
- Mysql 删除包含或者不包含某字符的记录
- MySQL删除没有主键的表中的重复记录,只保留一条记录
- mysql删除重复记录,但是要保留其中一条
- mysql查询根据一个字段或者两个字段内容重复的记录并将其全部删除
- mysql删除重复记录,只保留一条。
- mysql 删除重复数据只保留一条记录
- mysql 删除表中的重复记录,只保留其中一条
- 【MySQL】删除重复记录保留一条的高性能DELETE写法
- MySQL按某些字段删除重复记录,只保留一条记录
- mysql中删除重复记录,只保留一条
- Mysql删除重复记录,保留id最小的一条
- mysql删除重复记录只保留一条