MYSQL学习笔记20: 外键约束(删除/更新行为)

外键约束 删除/更新行为


set default在mysql的默认引擎innodb中不支持


CASCADE
alter table 表名 add constraint 外键名称 foreign key(外键字段) references 主表名(主表字段名)
on update cascade on delete cascade;

建立外键约束

#如果父表和子表建立外键的字段有不同的会报错
alter table emp add constraint fk_emp_dept_id foreign key (dept_id) references dept (id)
on update cascade on delete cascade;

将父表id为1的记录id设置为66

子表id为1的记录id更新为66


SET NULL

父表中删除/修改对应记录时, 如果有对应外键, 则设置子表中的外键值为null(如果这个外键允许取null的话)

alter table emp add constraint fk_emp_dept_id foreign key (dept_id) references dept (id)
on update set null on delete set null;

修改dept表id为5的记录id为12, 删除id为66的记录,结果:

子表中id=5以及id=66的外键变为null

posted @   HIK4RU44  阅读(90)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示