Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I drop a foreign key in SQL Server?

I have created a foreign key (in SQL Server) by:

alter table company add CountryID varchar(3); alter table company add constraint Company_CountryID_FK foreign key(CountryID)  references Country; 

I then run this query:

alter table company drop column CountryID; 

and I get this error:

Msg 5074, Level 16, State 4, Line 2
The object 'Company_CountryID_FK' is dependent on column 'CountryID'.
Msg 4922, Level 16, State 9, Line 2
ALTER TABLE DROP COLUMN CountryID failed because one or more objects access this column

I have tried this, yet it does not seem to work:

alter table company drop foreign key Company_CountryID_FK;  alter table company drop column CountryID; 

What do I need to do to drop the CountryID column?

Thanks.

like image 307
mmattax Avatar asked Sep 18 '08 14:09

mmattax


People also ask

Can we drop a foreign key?

Once a foreign key has been created, you may find that you wish to drop the foreign key from the table. You can do this with the ALTER TABLE statement in SQL Server (Transact-SQL).

What happens when you drop a foreign key constraint?

If you drop the primary key constraint on Table1 and then re-enable it with Alter Table command, would the foreign key on Table2 automatically be re-enabled also? No, the reference is destroyed. You need to reset the foreign key to get the new reference to the primary key.


2 Answers

Try

alter table company drop constraint Company_CountryID_FK   alter table company drop column CountryID 
like image 62
Mike Avatar answered Sep 24 '22 07:09

Mike


This will work:

ALTER TABLE [dbo].[company] DROP CONSTRAINT [Company_CountryID_FK] 
like image 37
Jared Avatar answered Sep 24 '22 07:09

Jared