Key=MUL인 열을 만들려면 ADD KEY를 사용해야 합니다. 구문은 다음과 같습니다 -
ALTER TABLE yourTableName MODIFY COLUMN yourColumnName data type, ADD KEY(yourColumnName);
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> create table Instructor -> ( -> Instructor_Id int, -> Instructor_Name varchar(30), -> Instructor_CourseName varchar(100) -> ); Query OK, 0 rows affected (0.63 sec)
이제 테이블의 테이블 설명을 볼 수 있습니다. KEY 열에는 MUL 키가 없습니다. DESC 명령어를 이용하여 테이블의 설명을 확인하는 쿼리는 다음과 같다.
mysql> desc Instructor;
다음은 출력입니다 -
+-----------------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------------+--------------+------+-----+---------+-------+ | Instructor_Id | int(11) | YES | | NULL | | | Instructor_Name | varchar(30) | YES | | NULL | | | Instructor_CourseName | varchar(100) | YES | | NULL | | +-----------------------+--------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
다음은 Key=MUL을 사용하여 MySQL에서 열을 생성하는 쿼리입니다. 'Instructor_Id' 열을 Key=MUL로 만듭니다. 쿼리는 다음과 같습니다 -
mysql> alter table Instructor modify column Instructor_Id int NOT NULL AUTO_INCREMENT, -> add key(Instructor_Id); Query OK, 0 rows affected (2.88 sec) Records: 0 Duplicates: 0 Warnings: 0
이제 테이블 설명을 다시 한 번 확인하십시오. 쿼리는 다음과 같습니다 -
mysql> desc Instructor;
다음은 출력입니다 -
+-----------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------------------+--------------+------+-----+---------+----------------+ | Instructor_Id | int(11) | NO | MUL | NULL | auto_increment | | Instructor_Name | varchar(30) | YES | | NULL | | | Instructor_CourseName | varchar(100) | YES | | NULL | | +-----------------------+--------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
기본이 아닌 키를 추가하려면 다음 쿼리를 사용해야 합니다. -
mysql> alter table Instructor modify column Instructor_Name varchar(30) NOT NULL, -> add key(Instructor_Name); Query OK, 0 rows affected (2.77 sec) Records: 0 Duplicates: 0 Warnings: 0
이제 테이블 설명을 다시 한 번 확인하십시오. 쿼리는 다음과 같습니다 -
mysql> desc Instructor;
다음은 필드 중 하나에 대해 Key를 MUL로 표시하는 출력입니다 -
+-----------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------------------+--------------+------+-----+---------+----------------+ | Instructor_Id | int(11) | NO | MUL | NULL | auto_increment | | Instructor_Name | varchar(30) | NO | MUL | NULL | | | Instructor_CourseName | varchar(100) | YES | | NULL | | +-----------------------+--------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)