Mybatis 有关级联删除和更新

父级 主键被其它表作为外键              子级表示把其它表的主键作为自己的外键

RESTRICTNO ACTIONSET NULL    CASCADE

RESTRICTNO ACTION表示子级有数据改变是父级数据不更新

SET NULL  表示父级在更新或者删除时将子记录列的值设为null

ON DELETE CASCADE  表示父记录删除时子记录对应的列数据也删除

ON UPDATE CASCADE  表示父记录更新时子记录对应的列数据也更新


1:在创建表的时候就对外键定义成级联删除或者更新

CREATE TABLE `order` (

  `id` int(4) NOT NULL AUTO_INCREMENT,

  PRIMARY KEY (`id`),

  CONSTRAINT `约束名(可随意,不可重复)` FOREIGN KEY (`外键名在本表中列名`) REFERENCES `外键表名` (`外键表列名`) ON DELETE CASCADE ON UPDATE CASCADE

)

这样把父级删除后子级的数据也会删除


2:这种方法是最笨的方法 也就是一条一条把把父级作为外键的子记录的数据  写sql一条一条的删除  通过父级的id 去删除

例如: delete from order where "外键名在本表中列名" =user.id;




  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坑里水库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值