2010-01-22 87 views
1

當我嘗試在Sql Server 2005中的兩個表內創建關係時出現錯誤。我嘗試使用數據庫關係圖功能創建關係。我有一個播放器表和一個消息表。我想從Message表創建兩個關係到Player表。我可以成功創建從Message.From到Player.PlayerId的第一個關係。當我嘗試創建Message.To第二關係Player.PlayerId我得到一個錯誤,指出...無法創建表關係 - SQL Server 2005

「球員」表成功 保存的「消息」表 - 無法創建關係「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) 

我想知道解決這個問題的最優化的方式是什麼。任何解釋,非常感謝。

回答

2

如果表中的數據與您嘗試創建的鍵衝突,則會發生此錯誤。

刪除「收件人」字段中的違規數據,或將「檢查現有數據創建或重新啓用」選項更改爲「否」。

+0

非常感謝,修好了! – 2010-01-22 04:17:35

0

刷新你的圖,並檢查你的名字。這聽起來像是試圖使用名稱FK_Message_Player_To在[From]字段上創建(或已經創建)FK,給您一個名稱衝突。

或者,使用T-SQL代替GUI。