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;


本文转自:http://blog.csdn.net/layman1024/article/details/72885287

你可能感兴趣的:(学习随笔,mybatis)