2012-02-23 59 views
2

我對(My)SQL相對較新,並且現在已經用我的頭撞了我的鍵盤兩天了。我似乎無法解決問題。我有一個包含三個表的數據庫:項目,coords價格。表格項目與價格之間具有非強制性的一對多關係,並且與coords具有強制性的1:1關係。每當我嘗試更新他們三個,我得到這個錯誤:PHP/MySQL:「無法添加或更新子行:外鍵約束失敗」

「不能添加或更新子行,外鍵約束失敗

(`items`.`items`, CONSTRAINT `fk_items_coords1` FOREIGN KEY (`coords_idCoords`) REFERENCES `coords` (`idCoords`) ON DELETE NO ACTION ON UPDATE NO ACTION) 

我用盡了一切我可以找到和想到:改變插入的順序,改變關係本身,首先手動添加(我知道這是必須的)等等。我也嘗試將它們都改爲強制一會兒,因爲我注意到了在插入價格的外鍵時不會發生此問題。然而,我發現它只是插入一個空值。它可能擁有一個非常簡單的解決方案,但我無法繞開它。

Here is my PHPhere is my SQL

我很清楚PHP是sl(的(特別是兩個單獨的查詢),但我會解決這個問題。我希望我已經提供了足夠的信息。如果您還有其他需要的東西,請告訴我。提前致謝。

回答

0

嗯,問題很簡單。您正嘗試將一些coord插入到items中,此處不存在與此ID一致的內容。

仔細檢查你正試圖插入的數據...

+0

但是,有數據存在於兩個座標中作爲價格。 – Thevet 2012-02-23 16:01:46

+0

是的,但是關鍵值插入'items'中是錯誤的。那個怎麼樣? – 2012-02-23 16:03:07

+0

那麼你會如何解決這個問題呢?對不起,我對此比較陌生。 – Thevet 2012-02-23 16:04:46

相關問題