일반적으로 1개 칼럼을 기본 키로 설정하지만, 2개 이상의 칼럼을 기본 키로 지정하기도 합니다. 몇 개의 칼럼을 기본 키로 설정할지는 테이블을 어떻게 설계하는냐에 따라 달라집니다. 기본 키로 설정할 칼럼이 2개 이상이라면 PRIMARY KEY (칼럼명1, 칼럼명2, ...)처럼 PRIMARY KEY 다음 소괄호 안에 기본 키로 설정할 칼럼을 콤마로 구분해 넣으면 됩니다.
코드 4-11과 비슷한 구문을 사용하면서 기본 키를 생성하는 또 다른 방법이 있습니다. 다음 코드를 보죠.
코드 4-12
-- 테이블 삭제
DROP TABLE highschool_students;
-- 테이블 생성, 기본 키 추가
CREATE TABLE highschool_students
(
student_no VARCHAR(20) NOT NULL,
student_name VARCHAR(100) NOT NULL,
grade TINYINT NULL,
class VARCHAR(50) NULL,
gender VARCHAR(20) NULL,
age SMALLINT NULL,
enter_date DATE,
CONSTRAINT PRIMARY KEY (student_no)
);
이전 문장과 달리 PRIMARY KEY 앞에 CONSTRAINT가 추가됐습니다. 여기서 CONSTRAINT는 제약조건을 뜻하는데, 기본 키가 제약조건에 해당됩니다. 기본 키 같은 제약조건(CONSTRAINT)도 RDBMS에서 하나의 데이터베이스 객체입니다. 그래서 MySQL에서는 기본 키를 생성하면 자동으로 PRIMARY라는 이름으로 만들어집니다. 참고로 다른 RDBMS에서는 기본 키가 별도의 이름을 갖고 있으며, 기본 키 생성 시 이름을 지정할 수 있습니다.