外键约束

为什么

两个表有相同的一列,我们需要用一个外键约束来约束两个表的一些操作,使得满足多表的逻辑。比如一个表是部门,一个表是员工,两个表都有部门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 主表表名(主表列名);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值