我通过以下方式创建了外键(在SQL Server中):
alter table company add CountryID varchar(3);
alter table company add constraint Company_CountryID_FK foreign key(CountryID)
references Country;
然后,我运行以下查询:
alter table company drop column CountryID;
我得到这个错误:
消息5074,级别16,状态4,第2行
对象'Company_CountryID_FK'依赖于列'CountryID'。
Msg 4922,第16级,状态9,第2行
ALTER TABLE DROP COLUMN CountryID失败,因为一个或多个对象访问此列
我已经尝试过了,但是似乎没有用:
alter table company drop foreign key Company_CountryID_FK;
alter table company drop column CountryID;
我需要怎么做才能删除CountryID
色谱柱?
谢谢。
2
您尝试删除外键会遇到什么错误?
—
ddc0660
只是要知道,在不知道为什么存在外键约束的情况下删除外键约束是很危险的。如果您只是创建了此文件,并且错误地执行了此操作,请使用其他答案中提供的代码。如果不是,那么在确定不会破坏其他内容之前,不要放弃该约束。创建约束以强制执行业务规则,最好在删除它们之前确定不再需要它们。
—
HLGEM
您删除FK的语法不需要单词“ foreign key”。这是MySQL的语法,而不是SQL Server的语法。您可以将其替换为“约束”一词。
—
John Gilmer