[DB] 기존 테이블의 컬럼에 제약조건 추가/삭제 하기
2022. 2. 17. 00:43ㆍDataBase
반응형
추가하기 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 컬럼명;
반응형
'DataBase' 카테고리의 다른 글
[DB] 무결성 테이블 만들기 (연습문제) (0) | 2022.02.18 |
---|---|
[DB] 테이블 만들때 현재 시간 자동으로 저장 (0) | 2022.02.17 |
[DB] check 제약조건 (0) | 2022.02.17 |
[DB] 외래키2 (foreign key) (0) | 2022.02.16 |
[DB] 외래키 (Foreign key) (0) | 2022.02.16 |