Я пытаюсь обновить таблицу SQL с этой хранимой процедурой:SQL Statement обновления конфликт с внешним ключом
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 WITH CHECK. Это приведет к недопустимым данным в таблице. –