外键约束 删除/更新行为
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
标签:20,外键,dept,66,MYSQL,子表,null,id From: https://www.cnblogs.com/HIK4RU44/p/18062275