2011-11-20 61 views
1

我想添加2個表之間的關係,但我得到了「ALTER TABLE語句與FOREIGN KEY約束衝突」錯誤。在兩個表之間添加關係時如何將NOCHECK添加到MSSMS?

這是因爲其中一個表中有一些數據與另一個表中的數據不匹配。

我想添加NOCHECK選項,以便它不會檢查數據是否準確。我怎樣才能使用MSSMS做到這一點?

例子:

BEGIN TRANSACTION 
SET QUOTED_IDENTIFIER ON 
SET ARITHABORT ON 
SET NUMERIC_ROUNDABORT OFF 
SET CONCAT_NULL_YIELDS_NULL ON 
SET ANSI_NULLS ON 
SET ANSI_PADDING ON 
SET ANSI_WARNINGS ON 
COMMIT 
BEGIN TRANSACTION 
GO 
ALTER TABLE dbo.Column_Definition SET (LOCK_ESCALATION = TABLE) 
GO 
COMMIT 
BEGIN TRANSACTION 
GO 
ALTER TABLE dbo.Tabelform_Answers ADD CONSTRAINT 
    FK_Tabelform_Answers_Column_Definition FOREIGN KEY 
    (
    column_id 
    ) REFERENCES dbo.Column_Definition 
    (
    id 
    ) ON UPDATE NO ACTION 
    ON DELETE NO ACTION 

GO 
ALTER TABLE dbo.Tabelform_Answers SET (LOCK_ESCALATION = TABLE) 
GO 
COMMIT 

回答

1

您所查詢:

ALTER TABLE dbo.Tabelform_Answers WITH NOCHECK 
    ADD CONSTRAINT FK_Tabelform_Answers_Column_Definition 
    FOREIGN KEY (column_id) 
    REFERENCES dbo.Column_Definition (id) 
    ON UPDATE NO ACTION 
    ON DELETE NO ACTION 

參考MSDN文章ALTER TABLE

+0

我,在哪裏可以鍵入這一點,因爲我使用的GUI添加的關係。我可以生成一個更改腳本並對其進行編輯,但是我可以在哪裏粘貼並執行它? – Kenci

+0

你能檢查我更新的問題,並告訴我在哪裏放置NOCHECK?因爲我在任何地方都遇到語法錯誤。 – Kenci

+0

@Kenci我已經更新了我的答案。 –

相關問題