
SQL Server 设置外键问题~
我创建了一个关系表S,学号S#设为主键;另外一个关系表SC,学号S#是主属性。在SC中设置外键,提示“ALTERTABLE语句与FK_SC_S约束发生冲突。冲突发生在··...
我创建了一个关系表S,学号S#设为主键;另外一个关系表SC,学号S#是主属性。在SC中设置外键,提示“ALTER TABLE 语句与FK_SC_S约束发生冲突。冲突发生在····表"dbo.S“ ”column S#“
请高手指教,该如何解决? 不胜感激!~ 展开
请高手指教,该如何解决? 不胜感激!~ 展开
展开全部
说的太含混了,没有表结构和关系图,没法明确问题的根源。
CS表主键是什么,联合的还是单一的?外键是CS.s# 对应S.s#么?CS表存在非主键约束么,还是就是主键约束,怎么设置的?最好给出关系图。
CS表主键是什么,联合的还是单一的?外键是CS.s# 对应S.s#么?CS表存在非主键约束么,还是就是主键约束,怎么设置的?最好给出关系图。
更多追问追答
追问
额,没有CS表呀~
SC表的主键是S#和C#;就是想把S#设置为SC表的外键(相对于S表)。我把C#设置为SC表的外键(相对于C表,C表主键是C#),是可以的,但是S#没法设置为SC的外键~
S(S#,SNAME,SSEX,SBIRTHIN,···)
SC(S#,C#,GRADE)
C(C#,CNAME,CLASSH)
追答
你SC表这样使用的是联合主键。
联合主键做外键不符合关系数据库的范式要求,联合本身的含义就是几个列用and连接起来才唯一.单独一个列是不能保证唯一的。
你看看你的主外键关系是不是反了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询