外键作用:
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);