MySQL 联级删除(on delete cascade)应用

###场景
有一张c1表
c1表中的字段如下

  • cno :课程号
  • cname:课程名称
  • cpno:先行课
  • credit:学分

#####需求
将某一课程删除之后,将删除以这一课程为先行课的所有课程

###解决方案
将cpno设置为外键,引用的是自身表的cno
使用联级删除(on delete cascade),在外键约束时添加

这里写图片描述


如果没有使用联级删除(on delete cascade),将会包以下错误
这里写图片描述

错误:1451 SQLSTATE: 23000 (ER_ROW_IS_REFERENCED_2)
消息:不能删除或更新父行,外键约束失败(%s)。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值