SQL Server에서 외래 키(FOREIGN KEY)를 삭제하는 방법을 구문과 실제 예제와 함께 살펴보겠습니다.
외래 키 제약 조건을 생성한 뒤 더 이상 사용하지 않아 삭제하고 싶다면, SQL Server(Transact-SQL)에서 ALTER TABLE 명령을 사용하면 됩니다.
SQL Server에서 외래 키를 삭제하는 구문
ALTER TABLE 테이블명
DROP CONSTRAINT fk_이름;
매개변수 설명
테이블명
외래 키가 생성되어 있는 테이블의 이름입니다.
fk_이름
삭제하고자 하는 외래 키의 이름입니다.
예제
CREATE TABLE sanpham
( id_sanpham INT PRIMARY KEY,
ten_sanpham VARCHAR(50) NOT NULL,
phan_loai VARCHAR(25)
);
CREATE TABLE hangtonkho
( id_hangtonkho INT PRIMARY KEY,
id_sanpham INT NOT NULL,
soluong INT,
luong_toithieu INT,
luong_toida INT,
CONSTRAINT fk_htk_id_sanpham
FOREIGN KEY (id_sanpham)
REFERENCES sanpham (id_sanpham)
);
이 예제에서는 먼저 id_sanpham 필드를 기본 키로 갖는 부모 테이블인 sanpham(제품)을 생성했습니다. 그다음 자식 테이블인 hangtonkho(재고)를 만들면서 외래 키 제약 조건을 함께 정의했습니다. 위의 CREATE TABLE 문은 hangtonkho 테이블에 fk_htk_id_sanpham이라는 이름의 외래 키를 생성하며, 이 외래 키는 hangtonkho 테이블의 id_sanpham 열과 sanpham 테이블의 id_sanpham 열 사이의 관계를 형성합니다.
함께 보면 좋은 관련 글
- SQL Server에서 외래 키 활성화하기
- SQL Server의 외래 키 (Set Null)
- SQL Server의 외래 키 (Cascade Delete)
외래 키 fk_htk_id_sanpham을 삭제하려면 아래 명령을 실행합니다.
ALTER TABLE hangtonkho
DROP CONSTRAINT fk_htk_id_sanpham;
위의 ALTER TABLE 문은 hangtonkho 테이블에서 fk_htk_id_sanpham이라는 이름의 제약 조건을 삭제합니다.
이전 강좌: SQL Server의 외래 키 (Set Null)
다음 강좌: SQL Server에서 외래 키 비활성화하기
지금까지 TipsMake 팀이 편집한 "SQL Server에서 외래 키 삭제하기" 글을 읽어주셨습니다. 이 글이 여러분에게 유용한 기술 팁과 노하우를 전해 드렸기를 바랍니다. 팁과 가이드 관련 글도 함께 검색해 보세요. 읽어주시고 꾸준히 지켜봐 주셔서 감사합니다.
Micah Soto | 2019년 5월 25일 업데이트