MSSQL2005约束(三)-外键约束

外键作用:

  1.外键约束,如果插入外键字段不是外键关联的表的列的字段,将阻止插入.

  2.附带作用,保持两张表的一致性。(由第一个性质决定)

规则:

  1.如果删除,跟新,外键表,需要先删除外键才能去删除,更新外键表.

  2.外键关联的列必须是外键表的主键

  3.外键建在子表中,关联与父表.

如何定义外键,三种方法;

  例1.定义表列时建立

  --先建立外键表

  create table dep(

  depno int Primary key,  --部门编号

  depname varchar(110) not null,--部门名称

)

  create table emp(

  empno int primary key,--员工编号

  ename varchar(10),--员工姓名

  depno int foreign key references dep(depno)  --定义列时创建约束

)

  例2,表建立是定义表的约束时建立

  

  --创建父表
  create table A(
  a_id int primary key,
  a_name varchar(10),
  )
  --创建字表和外键
  create table B(
  b_id int primary key,
  b_name varchar(10),
  a_id int ,
  constraint FK_B foreign key (a_id) references A(a_id)   --创建约束
  )

  例3,在表外更改表的结构时建立外键

  --创建父表
  create table D(
  d_id int primary key,
  d_name varchar(10),
  )
  --创建字表和外键
  create table E(
  e_id int primary key,
  e_name varchar(10),
  d_id int ,
  )
  --改变表的结构
  alter table E add constraint FK_E foreign key (d_id) references D(d_id);

  

转载于:https://www.cnblogs.com/coconut2013/archive/2013/05/21/coconut.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值