網頁

2018/7/9

SQL Server - INSERT statement conflicted with the FOREIGN KEY constraint

在SQL Server新增時出現錯誤INSERT statement conflicted with the FOREIGN KEY constraint時,如果外鍵參考的資料表確實存在要新增的主鍵值,因此排除了參考的外鍵值不存在的問題,別懷疑,請依照訊息提供的資料表名稱去檢查該資料表的關聯性(外鍵)設定是否正確。

今天碰到的情況是在使用Hibernate JPA透過在主實體的@OneToMany設定cascade=CascadeType.PERSIST來同時插入主表和子表的資料,但新增時發生上述錯誤,一開始以為是Hibernate JPA的設定錯誤,找了半天快要崩潰,隔天一早直接在資料庫手動新增才發現問題根本不在應用程式端,而是資料表的關聯性設定有錯(因為我一直以為我設定是正確的),還好沒有花更多時間在Hibernate JPA那邊琢磨。

沒有留言:

張貼留言