首頁 >資料庫 >mysql教程 >為什麼 My SQL Server INSERT 語句與 FOREIGN KEY 約束衝突?

為什麼 My SQL Server INSERT 語句與 FOREIGN KEY 約束衝突?

Linda Hamilton
Linda Hamilton原創
2025-01-20 03:57:11615瀏覽

Why Does My SQL Server INSERT Statement Conflict with a FOREIGN KEY Constraint?

追蹤 SQL Server 的外鍵約束錯誤

SQL Server 經常產生「INSERT 語句與 FOREIGN KEY 限制衝突」錯誤。當您嘗試將資料插入到透過外鍵關係連結到另一個表的表中時,就會發生這種情況。

問題:

如果目標表中的外鍵值與參考表中的任何現有主鍵不匹配,則在 INSERT 操作期間會出現此錯誤。

錯誤訊息範例:

<code>Msg 547, Level 16, State 0, Line 1
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Sup_Item_Sup_Item_Cat". The conflict occurred in database "dev_bo", table "dbo.Sup_Item_Cat". The statement has been terminated.</code>

此訊息表示嘗試插入 Sup_Item 表失敗,因為 sup_item_cat_id 外鍵值 ('123123') 不以 Sup_Item_Cat 表中的主鍵存在。

解:

修復方法很簡單:確保您插入的外鍵值與引用表中的現有主鍵相符。 在我們的範例中,匹配的 sup_item_cat_id 必須已存在於 Sup_Item_Cat 中。

使用 SQL Server Management Studio 的 sp_help 指令檢查外鍵約束和相關表。例如,sp_help 'dbo.Sup_Item_Cat' 提供有關該表的外鍵約束的詳細信息,幫助您識別引用的表和列,並確認您的 INSERT 語句使用有效的數據。

以上是為什麼 My SQL Server INSERT 語句與 FOREIGN KEY 約束衝突?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn