300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Mysql级联操作 添加外键和删除外键

Mysql级联操作 添加外键和删除外键

时间:2024-01-16 18:58:42

相关推荐

Mysql级联操作 添加外键和删除外键

目录

1.级联操作CASCADE2.删除外键,和添加外键

1.级联操作CASCADE

1.级联删除语法 on delete cascade 书写的位置:创建表的字段后边2.级联修改语法 on update cascade 书写的位置:创建表的字段后边代码:

-- 创建主表 部门表CREATE TABLE dept(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(10));INSERT INTO dept (NAME) VALUES('销售部'),('生产部'),('经理部');-- 创建从表 员工表CREATE TABLE emp(id INT PRIMARY KEY AUTO_INCREMENT, -- 员工编号NAME VARCHAR(10), -- 员工姓名gender VARCHAR(3), -- 员工性别dept_id INT, -- 员工的部门idCONSTRAINT -- 声明dept_emp_fk -- 外键名称 FOREIGN KEY -- 外键作用在 (dept_id) -- 从表的dept_id字段REFERENCES -- 关联dept(id) -- 主表的主键idON UPDATE CASCADE -- 级联修改ON DELETE CASCADE -- 级联删除) ;-- 此时:删除或者修改主表的内容,从表也会跟着改变-- 例如: 修改主表的数据,1号部门---3号部门 (级联修改)UPDATE dept SET id = 3 WHERE id = 1; #将id从1改为3#从表的所有id为1的变成了3-- 删除主表的数据,从表数据随之删除...(级联删除)DELETE FROM dept WHERE id = 2 ;#删除主表id=2#从表的所有id为2的员工被删除了

2.删除外键,和添加外键

删除外键

语法:

-- sql删除外键 alter table 表名 drop FOREIGN KEY 外键名称;#代码ALTER TABLE emp DROP FOREIGN KEY dept_emp_fk;

添加外键

语法:

-- alter table 表名 add -- constraint 外键名称 foreign key (从表的某个id)-- references 主表(主表id) -- 级联修改-- 级联删除#代码ALTER TABLE emp ADD CONSTRAINT dept_emp_fk FOREIGN KEY (dept_id) REFERENCES dept(id) ON UPDATE CASCADE ON DELETE CASCADE ;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。