mysql级联删除ON DELETE CASCADE

说明:当删除父节点时,由数据库来帮助删除子节点,这样就不用我们显示地写代码先删子节点,再删父节点了。

1、calendar 为主表

2、calendaritem 为外键表

一、如果已经设置主外键关系,需要先删除。

ALTER TABLE calendaritem DROP FOREIGN KEY `FK_calendar_id`;

二、创建主外键关系

ALTER TABLE calendaritem 
  ADD CONSTRAINT `FK_calendar_id`
  FOREIGN KEY (`calendarId` )
  REFERENCES calendar (`id` )
  ON DELETE CASCADE
  ON UPDATE RESTRICT;

三、测试

delete from calendar where id = 1

则 calendaritem 表中 calendarId 为 1 的记录会被同时删除。

 

注:级联更新 用 on update cascade 看情况使用。

 

posted on 2016-10-27 16:52  slov7ch  阅读(1092)  评论(0编辑  收藏  举报