본문 바로가기

DataBase/DBMS

9-1. 제약조건 삭제시 (PK의 경우, FK고려해야함)

-제약조건 삭제(ALTER -DROP)

ALTER TABLE 테이블명

    DROP CONSTRAINT 제약조건이름;

ALTER TABLE EMP
	DROP CONSTRAINT EMP_EMPNO_PK;

 

만약 PK를 삭제하려고하는데 FK에 PK를 참조하고 있다면 무결성 유지할 수 없기때문에,(3가지 중에 적합한 방법으로)

1. FK에 있는 PK를 참조하는 데이터 삭제

2. FK 제약조건을 삭제

3. 테이블을 만들 때

 컬럼명 데이터형 REFERENCES 참조테이블(참조컬럼명) ON DELETE CASCADE 를 해주면,

PK 삭제시 참조하고있는 FK의 데이터도 같이 삭제된다.

 

그래서 FOREIGN KEY 생성할때 아래 옵션 추가하면 가능

ON DELETE CASCADE 옵션을 주면 부모테이블의 데이터가 지워지면 자식 테이블의 데이터도 함께 지워짐

ON DELETE SET NULL 옵션도 가능한데 부모테이블의 데이터가 지워질 경우 자식테이블의 값을 NULL로 설정

hayleyfish.tistory.com/47