복합 기본 키를 추가하려면 ALTER 명령을 사용하십시오. 먼저 데모 테이블을 생성하겠습니다.
테이블 생성 쿼리입니다.
mysql> create table CompositePrimaryKey -> ( -> Id int, -> StudentName varchar(100), -> Age int -> ); Query OK, 0 rows affected (0.56 sec)
지금까지 위의 복합 기본 키를 추가하지 않았습니다. 이제 desc 명령어로 확인해보자.
mysql> desc CompositePrimaryKey;
다음은 출력입니다.
+-------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | StudentName | varchar(100) | YES | | NULL | | | Age | int(11) | YES | | NULL | | +-------------+--------------+------+-----+---------+-------+ 3 rows in set (0.09 sec)
위의 샘플 출력을 보면 기본 키워드가 없습니다. 이것은 복합 기본 키를 사용할 수 없음을 나타냅니다.
이제 ALTER 명령을 사용하여 복합 기본 키를 추가해 보겠습니다. 쿼리는 다음과 같습니다.
mysql> ALTER table CompositePrimaryKey add primary key(Id,StudentName); Query OK, 0 rows affected (1.26 sec) Records: 0 Duplicates: 0 Warnings: 0
위에서 열 이름이 "Id"와 "StudentName"인 복합 기본 키를 추가했습니다. 이를 확인하기 위해 DESC 명령을 사용할 수 있습니다. 쿼리는 다음과 같습니다.
mysql> DESC CompositePrimaryKey;
다음은 출력입니다.
+-------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+-------+ | Id | int(11) | NO | PRI | NULL | | | StudentName | varchar(100) | NO | PRI | NULL | | | Age | int(11) | YES | | NULL | | +-------------+--------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
위의 출력에서 볼 수 있듯이 "PR"은 Id 및 StudentName 열에 복합 기본 키를 성공적으로 추가했음을 의미합니다.