MySql on delete/on update

A 表的 id 是 B 表外键

一、on delete

1. on delete cascade:删除 A 表的数据时,对应 B 表的数据也会删除

2. on delete set null:删除 A 表的数据时,对应 B 表的外键字段置为空(前提是该字段可以为空)

如果添加外键时没加上面内容,删除 A 表的数据时,如果对应 B 表有数据就会报错

二、on update

1. on update cascade:更新 A 表数据的 id 时,对应 B 表的外键字段也会更新

2. on update set null:更新 A 表数据的 id 时,对应 B 表的外键字段置为空(前提是该字段可以为空)

如果添加外键时没加上面内容,更新 A 表的 id,如果对应 B 表有数据就会报错

添加外键语句:alter table user add constraint FK_1 foreign key(role_id) references role(id) on delete cascade on update cascade;

你可能感兴趣的:(MySQL,mysql,外键,级联删除和更新,on,delete,on,update)