外键定义联合主键的问题

anyuelang 2008-09-11 01:56:01
我有两张表 A(a,b,c,d) 其中 (a,b,c)是联合主键
B(_a,_b,_c,_d)其中(_a)是主键
现在我想定义B的外键(_c,_d) 到A的联合主键(a,b)
就是只关联(a,b)不关联A的全部联合主键(a,b,c)

定义如下
alter table B
add constraint FK_B_T_MARK_M foreign key (_c, _d)
references A (a, b)

这个时候报错说违反了a列的唯一性和什么?

难道非要关联所有联合主键才行 我只要关联两个~望高手指教!!
...全文
146 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
anyuelang 2008-09-11
  • 打赏
  • 举报
回复
厄...那我知道了 谢谢各位
我们公司老总要求不关联所有主键 我很无语
谢谢
sleepzzzzz 2008-09-11
  • 打赏
  • 举报
回复
1楼说得很明白了
anyuelang 2008-09-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 oracledbalgtu 的回复:]
外键必须是参照表的主健或者unique列才行。

[/Quote]

外键的参照性中貌似没有说要唯一哎 只要主表存在值就好了...
真的只能取唯一值么?
各位高手回答下~
oracledbalgtu 2008-09-11
  • 打赏
  • 举报
回复
外键必须是参照表的主健或者unique列才行。

[Quote=引用楼主 anyuelang 的帖子:]
我有两张表 A(a,b,c,d) 其中 (a,b,c)是联合主键
B(_a,_b,_c,_d)其中(_a)是主键
现在我想定义B的外键(_c,_d) 到A的联合主键(a,b)
就是只关联(a,b)不关联A的全部联合主键(a,b,c)

定义如下
alter table B
add constraint FK_B_T_MARK_M foreign key (_c, _d)
references A (a, b)

这个时候报错说违反了a列的唯一性和什么?

难道非要关联所有联合主键才行 我只要关联两个~望高手指教!!
[/Quote]

17,088

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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