2020-04-24
阅读量:
321
MySQL:怎么理解外键?
外键约束(foreign key)
- 某一表中某字段的值依赖于另一张表中某字段的值
- 主键所在的表为主表,外键所在的表为从表
- 每一个外键值必须与另一个表中的主键值相对应
creat table <表名> (
<字段名1> <字段类型1>,
<字段名2> <字段类型2>,
……
<字段名n> <字段类型n>,
[constraint 外键约束名] foreign key(字段名) references <主表>(主键字段));
示例
-- 创建一个主表
mysql> create table department(
-> d_id int primary key,
-> d_name varchar(5),
-> d_num int);
-- 创建从表的同时添加外键
mysql> create table employee(
-> e_id int primary key,
-> e_name varchar(5),
-> e_sex varchar(5),
-> e_age int,
-> d_id int,
-> foreign key(d_id) references department(d_id));
在有外键约束的表中导入数据时,如果数据不完整就会触发外键约束,这种情况下可以使用FOREIGN_KEY_CHECKS设置是否检查外键约束。
set FOREIGN_KEY_CHECKS=0; #在导入前设置为不检查外键约束
set FOREIGN_KEY_CHECKS=1; #在导入后恢复检查外键约束
删除外键约束:
alter table <表名> drop foreign key <外键约束名>;
- 先删除从表再删除主表。
- 先删除外键约束,再删除表。






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论