MySQL:级联删除操作

级联删除操作(了解)

  

如果想实现删除主表数据的同时,也删除掉从表数据,可以使用级联删除操作

级联删除 
ON DELETE CASCADE 

 

代码示例:

删除 employee表,重新创建,添加级联删除

-- 重新创建添加级联操作
CREATE TABLE employee(
     eid INT PRIMARY KEY AUTO_INCREMENT,
     ename VARCHAR(20),
     age INT,
     dept_id INT, 
     CONSTRAINT emp_dept_fk FOREIGN KEY(dept_id) REFERENCES department(id),
     -- 添加级联删除
     ON DELETE CASCADE 
);

-- 添加数据
INSERT INTO employee (ename, age, dept_id) VALUES (张百万, 20, 1); 
INSERT INTO employee (ename, age, dept_id) VALUES (赵四, 21, 1); 
INSERT INTO employee (ename, age, dept_id) VALUES (广坤, 20, 1);
INSERT INTO employee (ename, age, dept_id) VALUES (小斌, 20, 2); 
INSERT INTO employee (ename, age, dept_id) VALUES (艳秋, 22, 2); 
INSERT INTO employee (ename, age, dept_id) VALUES (大玲子, 18, 2); 

-- 删除部门编号为2 的记录 
DELETE FROM department WHERE id = 2;

 

运行效果:

员工表中 外键值是2的记录,也被删除了

MySQL:级联删除操作

 

MySQL:级联删除操作

上一篇:django web项目部署到阿里云函数计算平台


下一篇:玩转阿里云函数计算(一)----Java Http 触发器极速迁移传统 Spring 应用