申請後幾天的運行成功我突然看到錯誤:外鍵「休息」一段時間後,
Cannot add or update a child row: a foreign key constraint fails
如果我運行應用程序果然失敗的環境之外的SQL。
數據看起來不錯,以前的約束條件有效。此外,如果我放棄約束條件並將它們添加回來,因爲它們都可以再次使用。
我必須通過並刪除/添加約束,直到一切再次運行。
任何想法,我可能在這裏做錯了或快速重新創建所有FK的快速方法?
例FK約束上:
CONSTRAINT `FKC92ACD965FF39405` FOREIGN KEY (`foodItem_id`) REFERENCES `FoodItem` (`id`),
CONSTRAINT `FKC92ACD966C592425` FOREIGN KEY (`meal_id`) REFERENCES `Meal` (`id`)
例如,SQL:
into MealItem
(foodItem_id, meal_id, quantity)
values(150, 277, 0.375)
感謝, 布魯斯
該消息表明約束正常工作。您正在嘗試插入違反*約束條件的數據。 –
一致認爲它看起來非常直截了當 - 但我不明白爲什麼在簡單地刪除和重新創建FK後會運行相同的SQL。 – user2065855
很可能是因爲某些其他事務在此期間插入了缺失的父行。 –