我正在尝试在2个表之间添加关系,但是我得到“ALTER TABLE语句与FOREIGN KEY约束冲突”错误。
这是因为其中一个表中的某些数据与另一个表中的数据不匹配。
我想添加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
答案 0 :(得分: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文章