mybatis级联删除

来源:互联网 发布:东方财富通 for mac 编辑:程序博客网 时间:2024/05/29 18:25

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

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;


原创粉丝点击