[DB] 기존 테이블의 컬럼에 제약조건 추가/삭제 하기

2022. 2. 17. 00:43DataBase

반응형

 

추가하기 ADD

1. 기존 테이블 컬럼에 외래키 설정

DROP TABLE IF EXISTS teacher;
DROP TABLE IF EXISTS subject;

create table subject(
 	sub_id serial primary key,
 	sub_name varchar(10) not null,
 	unique(sub_name)
);
// subject테이블, sub_id는 PK이고, sub_name은 유일한 값이다

create table teacher(
 	tea_id serial primary key,
 	teacher_name varchar(10) not null,
 	sub_id int references subject(sub_id)
);
// tea_id는 pk이고, sub_id컬럼이 subject테이블의 sub_id컬럼을 참조하고 있다.

// subject테이블이 부모테이블, teacher테이블이 자식테이블

 

현재 쿼리 상황⬆️

여기에서, 부모테이블의 컬럼값이 지워지면 자식테이블의 컬럼값도 함꼐 지워지게끔 쿼리를 수정 하려고 한다.

 

 

 

ALTER TABLE 테이블명 ADD CONSTRAINT 컬럼명 제약조건(컬럼명) REFERENCES 참조할_테이블(참조할테이블의 컬럼명);

 

 

2. 기존 테이블 컬럼에 유니크 설정

 

ALTER TABLE 테이블명 ADD CONSTRAINT 컬럼명 UNIQUE(컬럼명);

 


삭제하기 DROP

1. 기존 테이블 컬럼에 유니크 삭제

 

ALTER TABLE 테이블명 DROP CONSTRAINT 컬럼명;

 

반응형