복합 키를 고유하게 구성하려면 ADD UNIQUE 명령을 사용해야 합니다. 다음은 구문입니다 -
alter table yourTableName add unique yourUniqueName( yourColumnName1,yourColumnName2,.......N);
먼저 테이블을 생성해 보겠습니다. 다음은 쿼리입니다 -
mysql> create table makeCompositeKeyDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(40), -> StudentAge int, -> StudentGrade char(1) -> ); Query OK, 0 rows affected (2.34 sec)
이제 DESC 명령을 사용하여 테이블의 설명을 확인하십시오. 다음은 쿼리입니다 -
mysql> desc makeCompositeKeyDemo;
이것은 다음과 같은 출력을 생성합니다 -
+--------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(40) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | | StudentGrade | char(1) | YES | | NULL | | +--------------+-------------+------+-----+---------+----------------+ 4 rows in set (1.65 sec)
다음은 고유한 복합 키를 형성하는 쿼리입니다 -
mysql> alter table makeCompositeKeyDemo add unique Name_Age_Grade( StudentName,StudentAge,StudentGrade); Query OK, 0 rows affected (0.69 sec) Records: 0 Duplicates: 0 Warnings: 0
이제 테이블 설명을 다시 한 번 확인하십시오. 다음은 쿼리입니다 -
mysql> desc makeCompositeKeyDemo;
이것은 다음과 같은 출력을 생성합니다 -
+--------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(40) | YES | MUL | NULL | | | StudentAge | int(11) | YES | | NULL | | | StudentGrade | char(1) | YES | | NULL | | +--------------+-------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)