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 看情况使用。