다음과 같이 외래 키를 만들었습니다 (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'열에 종속됩니다.
메시지 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를 삭제하는 구문에는 "외부 키"라는 단어가 필요하지 않습니다. 이것은 SQL Server가 아닌 MySQL의 구문입니다. "제약"이라는 단어로 바꿀 수 있습니다.
—
John Gilmer