怎么添加外键约束

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么添加外键约束相关的知识,希望对你有一定的参考价值。

sql server中建立外键约束有3中方式: 1.Enterprise Manager中,Tables,Design Table,设置Table的properties, 可以建立constraint, reference key; 2.Enterprise Manager中,Diagrams, new Diagrams,建立两个表的关系。 3.直接用transact sql语句。 下面讲解一下用SQL添加外键约束的实例: 一个SQL创建外键的例子: /**//*建库,名为student_info*/ create database student_info /**//*使用student_info*/ use student_info go /**//*建student表,其中s_id为主键*/ create table student ( s_id int identity(1,1) primary key, s_name varchar(20) not null, s_age int ) go /**//*建test表,其中test_no为主键*/ create table test ( test_no int identity(1,1) primary key, test_name varchar(30), nax_marks int not null default(0), min_marks int not null default(0) ) go /**//*建marks表,其中s_id和test_no为外建,分别映射student表中的s_id和test表中的test_no*/ create table marks ( s_id int not null, test_no int not null, marks int not null default(0), primary key(s_id,test_no), foreign key(s_id) references student(s_id), foreign key(test_no) references test(test_no) ) go 参考资料: http://www.studyofnet.com/news/93.html 希望以上的回答能够帮到你! 参考技术A

alter table 表 add  constraint 外键约束名称 foreign key (列)  references 表 (主键列);

如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。

设F是基本关系R的一个或一组属性,但不是关系的键,Ks是基本关系S的主键。如果F与Ks相对应,则称F是R的外键,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。

换而言之,如果关系模式R中的某属性集不是R的主键,而是另一个关系R1的主键则该属性集是关系模式R的外键,通常在数据库设计中缩写为FK。

在实际操作中,将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键(foreign key)。[1] 

显然目标关系的主码和参照关系的外码必须定义在一个或同一组的域上。关系R和S不一定是不同的关系,即外键不一定要与相应的主键同名。如在学生(学号,姓名,性别,专业号,年龄,班长)关系中,“学号”是主键,“班长”属性表示该学生所在班级的班长的学号,它引用了本关系中“学号”属性,因此“班长”是外键,这里学生关系既是参照关系也是被参照关系。不过在实际应用中为了便于识别,当主键与相应的外键属于不同关系时,往往取相同的名字。

参考技术B 可以通过alter方法进行外键约数添加;
sql:alter table tablaname add constraint 外键约束名称 foreign key (列) references 表 (主键列);
解释:外键约束必须约数到相应表的主键上,否则会直接报错。

以上是关于怎么添加外键约束的主要内容,如果未能解决你的问题,请参考以下文章

SQLSERVER外键约束

mysql外键约束怎么写

SQL中如何为表添加外键约束

mysql添加外键

数据库 两表互为外键,如何添加数据

sql 删除带外键约束的表的语句是啥