我想用這個存儲過程來更新SQL表:當我執行該查詢我收到此錯誤SQL UPDATE語句衝突的外鍵
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[UpdatePostingStatusAngel]
@PostingStatusID tinyint,
@PostingID int
AS
UPDATE dbo.Posting
SET
PostingStatusID = @PostingStatusID
WHERE PostingID = @PostingID
:The UPDATE statement conflicted with the FOREIGN KEY constraint "FK_Posting_PaymentStatus". The conflict occurred in database "JobsDB2008", table "dbo.PaymentStatus", column 'PaymentStatusID'.
這是真的奇怪,因爲我沒有更新'PaymentStatusID'列我不知道爲什麼它會讓我在該列發生衝突。該列也被設置爲NULL,並且它已經具有值。 我想只更新PostingStatusID字段。 任何想法可能是什麼原因? 在此先感謝,Laziale
你可以編輯你的文章包括兩個表的定義? –
假設你的外鍵實際上是正確定義的,並且引用'PaymentStatusId'而不是'PostingStatusId',那麼在某個時候外鍵可能被禁用了,而不用'WITH CHECK'選項重新啓用。這會在表中留下無效數據。 –