繁体   English   中英

当我尝试在SQL Server中重新启用约束时,出现“ ALTER TABLE语句与COLUMN FOREIGN KEY约束冲突”

[英]When I try to re-enable a constraint in SQL Server, I get “ALTER TABLE statement conflicted with COLUMN FOREIGN KEY constraint”

我需要更新数据库表中的一些记录。 这些表上很少有外键约束。

要禁用约束,我正在使用此:

ALTER TABLE Table_01 NOCHECK CONSTRAINT ALL 
ALTER TABLE Table_02 NOCHECK CONSTRAINT ALL 
ALTER TABLE Table_01 DISABLE TRIGGER ALL

要启用约束返回,我正在使用此功能:-

ALTER TABLE Table_01 ENABLE TRIGGER ALL 
ALTER TABLE Table_01 WITH CHECK CHECK CONSTRAINT ALL 
ALTER TABLE Table_02 WITH CHECK CHECK CONSTRAINT ALL

但是由于某些原因,当我尝试放回约束时,会出现此错误:-

ALTER TABLE statement conflicted with COLUMN FOREIGN KEY constraint 'FK_Table_01_AAAAA_AAAA'. 
The conflict occurred in database 'DB', table 'Table_02', column 'ID'.

注意:我在很多位置都安装了类似的数据库。 因此,此启用/禁用约束对某些数据库有效,但不适用于所有数据库。

您执行的更新之一违反了外键约束。 在找到并纠正有问题的数据之前,您将无法再次启用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM