SQL server中怎样定义表中的外键约束

win1357 2003-05-17 10:51:32
想在一个表中建立到另一个表的关联,怎样在该表中设置外键
...全文
257 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
win1357 2003-05-18
我是先建好了两个表以后再设置外键约束的,主键表中主键和外键表中的外键是相同的
是不是因为设置的先后顺序不一样导致的错误
回复
pengdali 2003-05-17
1、你看这里例子:

Create database cat
go
use cat
go
CREATE TABLE s(s# int not null primary key,s_name varchar(8) not null)
go
CREATE TABLE c (c# int not null primary key,c_name varchar(8) not null)
go
CREATE TABLE cs(c# int not null,s# int not null,cj tinyint not null default(0),
primary key (c#,s#),foreign key(s#) references s(s#),foreign key(c#) references c(c#))
go



insert s values(1,'saa')
insert c values(1,'caa')

--这句是对的
insert cs values(1,1,86)

--这句是错的,sql会报错,应为s表的s#列里没有2
insert cs vlaues(2,1,45)

2、应为你的表里已经存在象上面的 2 的非法数据,所以会报错
回复
win1357 2003-05-17
“表...中的列与现存的主键或UNIQUE约束不匹配”
是怎么回事呢
回复
pengdali 2003-05-17
企业管理器-->右键-->设计表-->右键-->关系-->...
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-05-17 10:51
社区公告
暂无公告