기본 키를 auto_increment로 변경하려면 MODIFY 명령을 사용할 수 있습니다. 먼저 테이블을 생성해 보겠습니다.
mysql> create table changePrimaryKeyInAutoIncrement -> ( -> StudentId int not null primary key, -> StudentName varchar(100), -> StudentAge int, -> StudentAddress varchar(100) -> ); Query OK, 0 rows affected (0.63 sec)
이제 desc 명령을 사용하여 테이블의 설명을 확인하겠습니다.
mysql> desc changePrimaryKeyInAutoIncrement;
그러면 다음과 같은 출력이 생성됩니다.
+----------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+-------+ | StudentId | int(11) | NO | PRI | NULL | | | StudentName | varchar(100) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | | StudentAddress | varchar(100) | YES | | NULL | | +----------------+--------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
위의 샘플 출력을 보면 StudentId 열이 기본 키입니다. 이제 기본 키를 auto_increment:
로 변경해 보겠습니다.mysql> alter table changePrimaryKeyInAutoIncrement MODIFY StudentId INT AUTO_INCREMENT; Query OK, 0 rows affected (1.48 sec) Records: 0 Duplicates: 0 Warnings: 0
다음의 테이블 설명을 다시 한 번 확인해 보겠습니다.
mysql> desc changePrimaryKeyInAutoIncrement;
그러면 다음과 같은 출력이 생성됩니다.
+----------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(100) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | | StudentAddress | varchar(100) | YES | | NULL | | +----------------+--------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
위의 샘플 출력을 보면 StudentId 열이 auto_increment로 변경되었습니다.