我正在使用SQL Server Express 2012并试图制作两个关联,两个FK从同一个表到另一个表中的一个PK。
这种关系似乎有效,因为它显示在数据库图表中但是当我尝试保存更改时,我收到以下错误:
成员中的MemberId是PK。'会员'表已成功保存 'BookedResources'表 - 无法创建关系'FK_BookedResourcesMemberId_MembersMemberId'。
ALTER TABLE语句与FOREIGN KEY约束“FK_BookedResourcesMemberId_MembersMemberId”冲突。冲突发生在数据库“resursBokning2”,表“dbo.Members”,列'MemberId'。
BookedResouce.EditedBy(FK) - >会员.MemberId(PK)
BookedResouce.MemberId(FK) - >会员.MemberId(PK)
有人知道这个错误是关于什么的吗? 我已经读过,建立这种关系应该没问题,所以它应该有效。
答案 0 :(得分:0)
发生错误是因为您可能对外键使用相同的名称两次,因此将第二个名称更改为其他值,例如:
FK_BookedResourcesMemberId_MembersMemberId2
答案 1 :(得分:0)
根据您提供的错误,您似乎尝试将两个外键命名为相同。正如@kinse建议的那样,给每个外键关系一个唯一的名称。另外,考虑是否需要两个外键到同一个表 - 它可能表明您的数据库模型不完整。
我假设会员不会编辑其他成员,因此EditedBy(成员)和MemberId在成员表上似乎是不必要的。