我在使用外鍵來編輯mysql中的數據時遇到了問題。當我嘗試更新的外鍵,它說:外鍵約束
不能添加或更新子行,外鍵約束失敗(
sadsystem/products
,約束fk_ProductRelationship11
外鍵(size_id
)參考文獻product_sizes
(size_id
))
我在使用外鍵來編輯mysql中的數據時遇到了問題。當我嘗試更新的外鍵,它說:外鍵約束
不能添加或更新子行,外鍵約束失敗(
sadsystem/products
,約束fk_ProductRelationship11
外鍵(size_id
)參考文獻product_sizes
(size_id
))
這樣做的標準方法是SET CONSTRAINTS DEFERRED
。
但是,MySQL/InnoDB不支持這一點。您將不得不按照一致性順序編輯數據:也就是說,首先必須在product_sizes
之前創建目標行,然後才能從其他表中引用size_id
。
(如果你一定要知道自己在做什麼(如導入時的數據),也可以暫時禁用foreign_key_checks設置,但這並沒有檢查參照完整性,當您重新啓用它:在禁用時破壞的任何約束都將保持打破狀態。)
更新外鍵的一部分(或全部)列時,新外鍵的新值必須引用被引用表中的一行。該錯誤消息是說您正嘗試將外鍵更新爲參考表中不存在的值。
我現在很困惑。你可以看到我關於編輯外鍵的詳細問題。請花時間閱讀和研究我在那裏發佈的代碼。非常感謝你 – 2010-10-02 06:57:46
http://stackoverflow.com/questions/3844591/inner-join-passing-data-from-table-for-edit – 2010-10-02 06:57:56
請賜教更多。我不擅長mysql。我這樣做是因爲它是我的小編程主題的一部分。我如何在phpmyadmin中執行這些操作? – 2010-10-02 06:56:15