外键约束

为什么

两个表有相同的一列,我们需要用一个外键约束来约束两个表的一些操作,使得满足多表的逻辑。比如一个表是部门,一个表是员工,两个表都有部门id,我们不能在部门还存在员工的时候将部门裁掉,也不能给一个未创建的部门添加新员工。

是什么

  • 语法:
constraint 外键名 foreign key (子表的列名) references 父表表名(父表的列名);

比如要将员工表(employee)中的部门id(dep_id)设置为外键,那么父表是部门(department),则

constraint emp_dep_fk foreign key (dep_id) references department(id);
  • 注意
    要先创建父表,才能在创建子表时添加外键。
    同时在给表添加数据时,也得先给父表添加数据(创建部门),再给子表添加数据(给部门招新)。

  • 删除外键
    删除外键语法格式如下

alter table 表名 drop foreign key 外键名;

比如

alter table employee drop foreign key emp_dep_fk;
  • 添加外键
alter table 表名 add constraint 外键名 foreign key 子表列名 references 主表表名(主表列名);
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页