我試圖運行我的數據庫中的一些更新腳本,我收到以下錯誤發生衝突:SQL與外鍵約束
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'.
我運行下面的腳本:
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是表AFFILIATE_MKTG_REF中的PK。
此外,我試圖使用SQL管理工作室中的修改表選項創建外鍵關係,並且我得到了同樣的錯誤。我不確定我應該尋找什麼?
任何建議將不勝感激。
通過添加WITH NOCHECK,我能夠創建FK關係。這似乎不是正確的事情... – 2009-11-18 20:53:21
這基本上會使約束「不受信任」(http://www.mssqltips.com/tip.asp?tip=1539) - 基本上,這不是檢查確保約束對錶中已經存在的數據有效,而只會檢查新插入的記錄。 – chadhoc 2009-11-18 20:55:30