联合主键如何做外键。

wing2002li2 2007-11-20 04:21:22
在SqlServer中,如何用两个字段联合起来做外键,比如,表a(f1,f2,f3),b(f2,f3,f4),其中a表的f2,f3作为外键,与b表的f2,f3对应,其中f2,f3是b表的联合主键!请问具体如何实现,最好能在设计试图中解决,tslql也行。
...全文
873 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjq0034 2009-01-09
  • 打赏
  • 举报
回复
是啊,谁给个明了些的回答啊!
wing2002li2 2007-11-29
  • 打赏
  • 举报
回复
怎么做到啊
yesyesyes 2007-11-21
  • 打赏
  • 举报
回复
LZ的要求完全可以
在企业管理器中直接操作即可
中国风 2007-11-21
  • 打赏
  • 举报
回复
自增列做外键好吗?

自增列做主键不用程序去维护。


惟一的作用就是值是惟一的?

本身不具备唯一约束,通过重置种子或dts 时,值可以重复。


比如一个表的经常会删除很多记录,有可能重排自增列?

只会空出来如:删2,值会为1,3..2不会自动出现,除人去改动..
hui_hui_2007 2007-11-21
  • 打赏
  • 举报
回复
自增列做外键好吗?我认为自增列本身的值没有任何意义,惟一的作用就是值是惟一的。再说自增列有可能重新排列呀,比如一个表的经常会删除很多记录,有可能重排自增列。这样一来,作为外键的自增字段就乱了。
请教一下,我的理解对吗?
中国风 2007-11-20
  • 打赏
  • 举报
回复
树上的鸟儿的好像行不通哟..


处理方法:
create table b(ID int identity(1,1)primary key ,f2 int,f3 int,f4 int constraint U_b unique)

create table a(f1 int,b_ID int foreign key references b(ID))

---用组合主健用唯一约束,用ID为主键,引用表直接用ID
chuifengde 2007-11-20
  • 打赏
  • 举报
回复
create table b(f2 int,f3 int,f4 int ,constraint bkey primary key (f2,f3))
create table a(f1 int,f2 int,f3 int ,constraint afkey foreign key(f2,f3) references a(f2,f3))

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧