约束-外键约束-级联操作

数据表

department

employe

 

如果我们想要将 department里的id进行改变 不可以直接改id 因为我们已经创建外键约束 是不可以删除的

比如

错误:不能删除或更新父行:外键约束失败(' videoppractice ')。' employee ', CONSTRAINT 'depid_fk' FOREIGN KEY ('dep_id') REFERENCES 'department' (id'))

我们只能使用sql语句进行更改

-- 将employe表的dep_id为1的都是null
UPDATE employe SET dep_id=NULL WHERE dep_id=1;

-- 将department表的id为1的数据改为id为5
UPDATE department SET id=5 WHERE id=1; 

-- 将employe表的id为空的数据改为5
UPDATE employe SET dep_id=5 MHERE dep_id IS NULL;

 

 我们可以使用 创建外键 设置级联更新

删除外键

 添加外键 设置级联更新

 SQL语句

ALTER TABLE 数据表名 ADD CONSTRAINT 外键名 FOREIGN KEY (主键字段) REFERENCES 外键表(外键字段) ON UPDATE CASCADE;

运行结果

 测试

 数据表

department

 employe

分类:

级联更新:ON UPDATE CASCADE

级联删除:ON DELETE CASCADE

posted @ 2022-10-24 16:18  想见玺1面  阅读(24)  评论(0编辑  收藏  举报