1

尝试在 Sql Server 2005 中的两个表中创建关系时出现错误。我正在尝试使用数据库图表功能创建关系。我有一个 Player 表和一个 Message 表。我想创建从 Message 表到 Player 表的两个关系。我可以成功创建从 Message.From 到 Player.PlayerId 的第一个关系。当我尝试创建从 Message.To 到 Player.PlayerId 的第二个关系时,我收到一条错误消息...

'Player' 表已成功保存 'Message' 表 - 无法创建关系 'FK_Message_Player_To'。ALTER TABLE 语句与 FOREIGN KEY 约束“FK_Message_Player_To”冲突。冲突发生在数据库“TPF”、表“dbo.Player”、列“PlayerId”中。

Message
===================
MessageId INT PK,
From INT, -- refers to Player PK
To INT -- also refers to Player PK

Player
=================
PlayerId INT PK,
FirstName NVARCHAR(50),
LastName NVARCHAR(50)

我想知道解决这个问题的最佳方法是什么。非常感谢任何解释。

4

2 回答 2

2

如果表中的数据与您尝试创建的键冲突,则会发生此错误。

Either delete the offending data in the "To" field, or change the "Check Existing Data on Creation or Re-enabling" option to "No".

于 2010-01-22T03:24:20.237 回答
0

刷新您的图表,并检查您所拥有的名称。听起来它正在尝试使用 name 在 [From] 字段上制作(或已经制作)FK FK_Message_Player_To,从而给您带来名称冲突。

或者,使用 T-SQL 而不是 GUI 来完成。

于 2010-01-22T03:16:47.800 回答