1

我正在使用 SQL Server Express 2012 并尝试建立两个关系,从同一个表中的两个 FK 到另一个表中的一个 PK。

该关系似乎有效,因为它显示在数据库图中,但是当我尝试保存更改时,我收到以下错误:

“成员”表已成功保存“BookedResources”表 - 无法创建关系“FK_BookedResourcesMemberId_MembersMemberId”。
ALTER TABLE 语句与 FOREIGN KEY 约束“FK_BookedResourcesMemberId_MembersMemberId”冲突。冲突发生在数据库“resursBokning2”、表“dbo.Members”、列“MemberId”中。

Members中的MemberId就是PK。

BookedResouce.EditedBy (FK) -> Member.MemberId (PK)
BookedResouce.MemberId (FK) -> Member.MemberId (PK)

有人知道这个错误是关于什么的吗?我读过这种关系应该没问题,所以它应该有效。

4

2 回答 2

0

从您提供的错误来看,您似乎试图将两个外键命名相同。正如@kinse 建议的那样,给每个外键关系一个唯一的名称。另外,请考虑您是否需要同一个表的两个外键——这可能表明您的数据库模型不完整。

我假设成员不会编辑其他成员,因此在成员表上似乎不需要 EditedBy(成员)和 MemberId。

于 2013-10-15T08:22:23.890 回答
0

发生错误是因为您可能两次使用相同的名称作为外键,因此将第二个名称更改为其他值,例如:

FK_BookedResourcesMemberId_MembersMemberId2
于 2013-10-15T08:19:15.187 回答