mysq 外键约束"/>
mysq 外键约束
定义
MySQL外键约束(FOREIGN KEY)用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个或多个外键。
在我们使用数据库的时候我们经常需要使用到一张表引用另外一张表的数据字段,这个时候就要用到外键约束了。
在创建表的时候添加外键
语法规则
[CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…]
REFERENCES <主表名> 主键列1 [,主键列2,…]
个人理解
CONSTRAINT 外键名称
FOREIGN KEY 要将那一些字段定义为外键
REFERENCES 外键应用的是哪个表的哪个字段
例子:
create table grade(
gradeid
int(4) not null comment ‘年级id’,
name
varchar(10) not null comment ‘年级名’,
primary key(gradeid
)
)engine=innodb default charset=utf8;
create table
student
(
id
int(4) not null comment ‘学生id’,
name
varchar(60) not null comment ‘学生姓名’,
gradeid
int(3) not null comment ‘学生年级’,
age
int(3) not null comment ‘学生年龄’,
primary key(id
),
keyFK_gradeid
(gradeid
),
constraintFK_gradeid
foreign key (gradeid
) referencesgrade
(gradeid
)
)engine=innodb default charset=utf8;
已有表修改字段为外键
语法规则:
alter table 哪个表 add constraint 外键名称 foreign key (要作为外键的字段) references 哪个表(哪个字段);
例子:
alter table student add constraint
FK_gradeid
foreign key (gradeid
) referencesgrade
(gradeid
);
删除外键约束
语法规则:
alter table 哪个表 drop foreign key 哪个外键名称
例子:
alter table student drop foreign key
FK_gradeid
;
更多推荐
mysq 外键约束
发布评论