1. 程式人生 > >java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key c

java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key c

錯誤原圖:

錯誤分析:外來鍵約束失敗導致插入資料有誤,也就是說店鋪(一級)、商品分類(二級)、商品(三級),我在插入資料的時候,店鋪資料和商品分類資料不存在或者資料插入錯誤,而商品資料正確,最終導致商品插入的時候找不到商品類別與店鋪,從而出現錯誤。

解決問題:檢查店鋪(一級)、商品類別(二級)的資料(id)是否存在,或者正確。

相關知識:外來鍵約束的使用

對外來鍵約束定義的體現:資料的一致性。

資料庫設計:在進行資料庫設計的時候,最好不要使用外來鍵約束進行關聯,這樣會增加開發者對錶的關係的反覆思索,很有可能導致上面的類似的錯誤。一般都是建立資料字典(關係表)來很好的進行對資料庫的維護。