MySQL 데이터베이스의 특정 열에 자동 증가(AUTO_INCREMENT) 속성을 추가하려면 ALTER 명령어를 사용하면 됩니다. 이 글에서는 phpMyAdmin GUI를 이용하는 방법과 SQL 쿼리를 직접 실행하는 방법 두 가지를 모두 소개합니다.
1. ALTER 명령어로 AUTO_INCREMENT 추가하기
AUTO_INCREMENT를 추가하는 기본 문법은 다음과 같습니다.
ALTER TABLE yourTableName MODIFY yourColumnName INT NOT NULL AUTO_INCREMENT;
2. phpMyAdmin 화면에서 설정하는 방법
localhost 환경에서 phpMyAdmin을 열려면 브라우저 주소창에 다음을 입력하고 엔터 키를 누릅니다.
localhost/phpmyadmin
phpMyAdmin 메인 화면은 아래와 같습니다.

여기서는 이미 AutoIncrementDemo라는 테이블이 생성되어 있으며, 그 안에는 기본 키(Primary Key)로 설정된 UserId 열이 있습니다. 이 열에 AUTO_INCREMENT 속성을 추가해 보겠습니다.
열 구조 편집 화면에서 A.I(AUTO_INCREMENT) 체크박스를 선택합니다. 아래 이미지에서 해당 항목이 표시된 위치를 확인할 수 있습니다.

체크한 후에는 반드시 Save(저장) 버튼을 눌러 변경 사항을 적용해야 합니다.
3. SQL 쿼리로 직접 추가하는 방법
이번에는 쿼리를 통해 MySQL 데이터베이스에 AUTO_INCREMENT 열을 추가하는 과정을 살펴보겠습니다.
테이블 생성
먼저 테이블을 생성합니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table AutoIncrementDemo
-> (
-> UserId int
-> );
Query OK, 0 rows affected (0.45 sec)예제: AUTO_INCREMENT 열 추가
이제 ALTER 명령어로 UserId 열에 AUTO_INCREMENT와 PRIMARY KEY를 함께 지정합니다.
mysql> alter table AutoIncrementDemo
-> modify column UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY;
Query OK, 0 rows affected (1.10 sec)
Records: 0 Duplicates: 0 Warnings: 0결과 확인
DESC 명령어로 테이블 구조가 올바르게 변경되었는지 확인할 수 있습니다.
mysql> desc AutoIncrementDemo;
실행 결과는 다음과 같습니다.
+--------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+---------+------+-----+---------+----------------+ | UserId | int(11) | NO | PRI | NULL | auto_increment | +--------+---------+------+-----+---------+----------------+ 1 row in set (0.04 sec)
출력 결과에서 Key가 PRI, Extra가 auto_increment로 표시되면 정상적으로 적용된 것입니다. 참고로 AUTO_INCREMENT 속성은 해당 열이 반드시 인덱스(일반적으로 기본 키)여야 하며, 하나의 테이블에는 한 개의 AUTO_INCREMENT 열만 가질 수 있다는 점을 기억하세요.