열 제약
: 한 개의 열만 제약 걸기 CREATE TABLE sample631 {
a INTEGER NOT NULL,
b INTEGER NOT NULL UNIQUE,
c VARCHAR(30)
}
테이블 제약
: 복 수의 열에 제약 걸기 CREATE TABLE sample631 {
a INTEGER NOT NULL,
b INTEGER NOT NULL UNIQUE,
c VARCHAR(30),
PRIMARY KEY (no, sub_no)
}
테이블 제약에서 제약 이름 지정 가능. (CONSTRAINT 키워드)
CREATE TABLE sample631 {
a INTEGER NOT NULL,
b INTEGER NOT NULL UNIQUE,
c VARCHAR(30),
CONSTRAINT pkey_sameple PRIMARY KEY (no, sub_no)
}
c열에 NOT NULL 제약 걸기
ALTER TABLE sample631 MODIFY c VARCHAR(30) NOT NULL;
기본키 제약 추가하기
ALTER TABLE sample631 ADD CONSTRAINT pkey_sample631 PRIMARY KEY(a);
c열에 NOT NULL 제약 없애기
ALTER TABLE sample631 MODIFY c VARCHAR(30);
pkey_sample631 제약 삭제하기
ALTER TABLE sample631 DROP CONSTRAINT pkey_sample631;
단, 기본키는 테이블당 하나만 설정할 수 있기 때문에 제약명을 지정해주지 않아도 됨
.
ALTER TABLE sample631 DROP PRIMARY KEY;
복수 열이 모두 기본키로 설정 시, 하나의 열이 중복되더라도 다른 열이 제약 사항(기본키 제약)에 위반되지 않으면 제약이 위반하지 않은 것이다.
만약 위 상태에서 완전히 동일한 값으로 INSERT 시 기본키 제약에 위반됨.
기본키에 많이 적용됨
. 출처 : SQL 첫걸음 아사이 아츠시 지음 [한빛미디어]