加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL为表添加外键约束

发布时间:2020-12-12 00:04:06 所属栏目:MySql教程 来源:网络整理
导读:为表添加外键约束的语法 Alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名); 为表student添加外键约束 执行成功后,使用DESC来查看学生表和班级表 可以看出,grade表中的id是主键,student表中的gid是外键

为表添加外键约束的语法

Alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名);

为表student添加外键约束

执行成功后,使用DESC来查看学生表和班级表

可以看出,grade表中的id是主键,student表中的gid是外键

使用show create table,查看表的详细结构

可以看出,gid为student表的外键,并且,gid依赖于grade表中的id主键。

为表添加外键约束时,需要注意

1、建立外键的表,必须为InnoDB型,不能使临时表,因为,在MySQL中只有InnoDB类型的表,才支持外键。

2、定义外键名时,不能加引号,比如constraint’FK_ID’或constraint”FK_ID”都是错误的

添加外键约束的参数说明

建立外键,是为了保证数据的完整和统一性,如果,主表中的数据被删除或修改,那么,从表中对应的数据也应该被删除,否则,数据库会存在很多无意义的垃圾数据。

MySQL可以在建立外键时,添加ON DELETE或ON UPDATE子句,来告诉数据库,怎样避免垃圾数据的产生

语法格式

alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名);

参数说明

CASCADE——删除包含与已删除键值,有参照关系的所有记录

SET NULL——修改包含与已删除键值,有参照关系的所有记录,使用NULL值替换,不能用于已标记为NOT NULL的字段

NO ACTION——不进行任何操作

RESTRICT——拒绝主表删除或修改外键关联词,在不定义ON DELETE和ON UPDATE子句时,这是默认设置,也是最安全的的设置

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读