2012-01-24 65 views
0

我是新來的MySQL的世界,我有點麻煩。這裏的問題:MySQL數據庫,多個外鍵

我有2個表叫TEAMS固定件。以下是我正在試圖創建(只顯示相關字段)的結構:

TEAMS表:

  • TEAM_NAME(主鍵)

興業表:

  • fixture_id (主鍵)
  • home_team(外鍵)
  • AWAY_TEAM(外鍵)

HOME_TEAM和AWAY_TEAM 來自同一來源(TEAM_NAME)得到一個隊名。

我已經成功地創建了燈具( _team)和小組(TEAM_NAME)的關係,但我不能得到其他關係工作 - 興業( _team)和小組(TEAM_NAME)。

我得到「#1452 - 無法添加或更新子行:外鍵約束失敗」錯誤消息。我假設可能是因爲我有兩個外鍵在同一個表引用相同的主鍵。那是對的嗎?如果是這樣,我該如何解決它?

希望我:-)

回答

1

解釋這個沒事,那有人能幫助我,感謝這意味着你已經不滿足約束,即具有在teams表中沒有對應的項值。所以問題不在於模式,而在於數據。解決這個問題。

SELECT * FROM fixtures LEFT JOIN teams ON (away_team=team_name) 
WHERE team_name IS NULL; 

會將您的違規行取回。

+0

這是一個這樣簡單的解決方案。我不知道我的不完整的測試數據會影響我完成結構。一旦我填寫了缺失的數據字段,一切都按我的意願工作。非常感謝:-) – liverpaul

+0

不客氣。 –