gpt4 book ai didi

sql - 如何处理 SQL Server 幽灵 FK 约束?

转载 作者:行者123 更新时间:2023-12-04 22:40:34 25 4
gpt4 key购买 nike

我在使用 SQL Server 2005 数据库时遇到了一些问题,它似乎一直存在幽灵约束。我有一个脚本可以删除有问题的约束,做一些工作,然后重新添加相同的约束。通常,它工作正常。然而,现在它不能重新添加约束,因为数据库说它已经存在,即使删除工作正常!

以下是我正在处理的查询:

alter table individual drop constraint INDIVIDUAL_EMP_FK

ALTER TABLE INDIVIDUAL
ADD CONSTRAINT INDIVIDUAL_EMP_FK
FOREIGN KEY (EMPLOYEE_ID)
REFERENCES EMPLOYEE

在删除约束后,我使用以下查询确保该对象确实消失了:

select object_id('INDIVIDUAL_EMP_FK')
select * from sys.foreign_keys where name like 'individual%'

两者都没有返回结果(或 null),但是当我尝试再次添加查询时,我得到:

The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "INDIVIDUAL_EMP_FK". 

尝试删除它时收到一条消息,提示它不存在。有什么想法吗?

最佳答案

说明创建FK时数据有误

也就是说,INDIVIDUAL 子表中的“EMPLOYEE_ID”值在父 EMPLOYEE 表中不存在。

您可以使用 ALTER TABLE ...WITH NOCHECK ADD CONSTRAINT... 但是 FK 没用

关于sql - 如何处理 SQL Server 幽灵 FK 约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2610317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com