做网站 超速云,做美容美容院网站的费用,百度文库登录入口,上海人才网官网电话一、外键的创建语法一#xff1a;后续添加方法alter table 表名 add constraint 约束名 foreign key(当前表中约束的字段) references 主表表名(要约束的字段名);alter table student add constraint fk_class_student foreign key(cls_id) class(cls_id) on update cascade o…一、外键的创建语法一后续添加方法alter table 表名 add constraint 约束名 foreign key(当前表中约束的字段) references 主表表名(要约束的字段名);alter table student add constraint fk_class_student foreign key(cls_id) class(cls_id) on update cascade on delete no action;12语法二创建表的方法CREATE TABLE student(sid int PRIMARY KEY,cls_id int not null,sname varchar(10) not null,constraint fk_class_student foreign key(cls_id) references class(cls_id) on update cascade on delete no action)ENGINEInnoDB DEFAULT CHARSETutf8;123456一个额外点SHOW CREATE TABLE class1可以查询表的建表信息CREATE TABLE class (cls_id int NOT NULL,cls_name varchar(15) NOT NULL,PRIMARY KEY (cls_id)) ENGINEInnoDB DEFAULT CHARSETutf812345下面的演示我们就使用刚刚创建的这个学生表和班级表内容如下二关于四种约束方式在父表上进行update/delete操作时子表的操作类型CASCADE 子表会删除包含与已删除键值有参照关系的所有数据SET NULL 父表delete、update的时候子表会将关联记录的外键字段所在列设为nullRESTRICT 拒绝有关联关系的字段的删除要求(这是默认设置也是最安全的设置)NO ACTION 和RESTRICT 类似以我们刚刚设置的外键为例(on update cascade on delete no action)当我们尝试进行删除操作时delete from class WHERE cls_id11结果如下可以看到由于外键约束中on delete no action的存在不允许对主表进行删除操作。但是子表可以delete from student WHERE cls_id11当我们对父表的关联键进行更新操作时由于on update cascade的存在可以正常更新UPDATE class set cls_id4 where cls_id11并且随着主表的更新子表中的外键字段也进行了更新三删除外键的方法alter table 子表名 drop foreign key 外键约束名alter table student drop foreign key fk_class_student12当我们将外键删除之后父表的操作就变得可以正常进行了文章来源: blog.csdn.net作者Spike Bo版权归原作者所有如需转载请联系作者。原文链接blog.csdn.net/m0_51709303/article/details/112589209