【发布时间】:2010-04-09 19:32:46
【问题描述】:
我在使用 SQL Server 2005 数据库时遇到了一些问题,它似乎保留了一个幽灵约束。我有一个脚本可以删除有问题的约束,做一些工作,然后重新添加相同的约束。通常,它工作正常。但是,现在它无法重新添加约束,因为数据库说它已经存在,即使 drop 工作正常!
以下是我正在处理的查询:
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".
试图删除它会给我一个消息,它不存在。有什么想法吗?
【问题讨论】:
标签: sql sql-server constraints