Sto cercando di eseguire alcuni script di aggiornamento sul mio database e sto ottenendo il seguente errore:SQL conflitto con il vincolo FOREIGN KEY
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_UPSELL_DT_AMRNO_AFMKTG_REF". The conflict occurred in database "ECOMVER", table "dbo.AFFILIATE_MKTG_REF", column 'AMRNO'.
sto facendo funzionare il seguente script:
ALTER TABLE [dbo].[UPSELL_DATA] WITH CHECK ADD
CONSTRAINT [FK_UPSELL_DT_AMRNO_AFMKTG_REF] FOREIGN KEY
(
[AMRNO]
) REFERENCES [dbo].[AFFILIATE_MKTG_REF] (
[AMRNO]
)
GO
AMRNO è un PK nella tabella AFFILIATE_MKTG_REF.
Inoltre, ho provato a creare la relazione di chiave esterna utilizzando l'opzione di tabella di modifica in SQL Management studio e ho ottenuto lo stesso errore. Non sono sicuro di cosa dovrei cercare?
Qualsiasi suggerimento sarebbe molto apprezzato.
Aggiungendo WITH NOCHECK sono riuscito a creare la relazione FK. Questo non sembra la cosa giusta da fare ... –
Questo fondamentalmente renderà il vincolo "non attendibile" (http://www.mssqltips.com/tip.asp?tip=1539) - in pratica, questo NON sta controllando per assicurarsi che il vincolo sia valido per i dati già presenti nelle tabelle e che controlli solo i record appena inseriti. – chadhoc