AUTO_INCREMENT는 새로운 레코드가 추가될 때마다 해당 컬럼의 값을 자동으로 1씩 증가시켜 주는 MySQL의 기본 속성입니다. 이때 시작 번호는 ALTER 명령을 사용하면 언제든지 원하는 값으로 변경할 수 있습니다.
이 글에서는 실제 예제를 통해 AUTO_INCREMENT 시작 값을 변경하는 전체 과정을 단계별로 살펴보겠습니다.
1단계: 테이블 생성하기
먼저 CREATE 문을 사용해 AUTO_INCREMENT 속성이 적용된 테이블을 생성합니다.
mysql> CREATE table AutoIncrementTable -> ( -> id int auto_increment, -> name varchar(200), -> Primary key(id) -> ); Query OK, 0 rows affected (0.70 sec)
위 쿼리에서 id 컬럼은 AUTO_INCREMENT 속성을 가지며, 기본 키(Primary Key)로 설정되어 있습니다.
2단계: 레코드 삽입하기
테이블 생성이 완료되면 INSERT 문을 사용해 여러 개의 레코드를 삽입합니다.
mysql> INSERT into AutoIncrementTable(name) values('Carol');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT into AutoIncrementTable(name) values('Bob');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT into AutoIncrementTable(name) values('John');
Query OK, 1 row affected (0.18 sec)
3단계: 저장된 데이터 조회하기
SELECT 문으로 테이블에 저장된 레코드를 확인할 수 있습니다.
mysql> SELECT * from AutoIncrementTable;
실행 결과는 다음과 같습니다.
+----+-------+ | id | name | +----+-------+ | 1 | Carol | | 2 | Bob | | 3 | John | +----+-------+ 3 rows in set (0.00 sec)
세 개의 레코드가 순서대로 삽입되었으며, id 값이 각각 1부터 시작해 1씩 자동으로 증가한 것을 확인할 수 있습니다.
4단계: AUTO_INCREMENT 시작 값 변경하기
이제 AUTO_INCREMENT 값을 변경하여 다음에 삽입되는 레코드의 id가 1000부터 시작하도록 설정해 보겠습니다.
AUTO_INCREMENT를 변경하는 기본 문법은 다음과 같습니다.
ALTER TABLE yourTableName AUTO_INCREMENT = startingNumber;
이 문법을 적용해 시작 값을 1000으로 변경하는 예제입니다.
mysql> alter table AutoIncrementTable auto_increment = 1000; Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0
5단계: 변경 후 새 레코드 삽입하고 결과 확인하기
AUTO_INCREMENT 변경이 성공적으로 완료되면, 새로운 레코드를 추가로 삽입합니다.
mysql> INSERT into AutoIncrementTable(name) values('Taylor');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT into AutoIncrementTable(name) values('Sam');
Query OK, 1 row affected (0.17 sec)
다시 SELECT 문으로 테이블 전체를 조회해 보겠습니다.
mysql> SELECT * from AutoIncrementTable;
실행 결과는 다음과 같습니다.
+------+--------+ | id | name | +------+--------+ | 1 | Carol | | 2 | Bob | | 3 | John | | 1000 | Taylor | | 1001 | Sam | +------+--------+ 5 rows in set (0.00 sec)
결과를 보면 네 번째 레코드인 Taylor의 id가 1000부터 시작하고, 그다음 Sam은 1001로 자동 증가된 것을 확인할 수 있습니다.
정리
MySQL에서 AUTO_INCREMENT 시작 값을 변경하는 것은 ALTER TABLE 테이블명 AUTO_INCREMENT = 시작값; 한 줄의 명령으로 간단히 처리할 수 있습니다. 단, 지정하는 시작 값은 현재 테이블에 존재하는 최대 id 값보다 커야 하며, 그렇지 않으면 변경이 무시됩니다. 이 기능은 특정 범위의 ID를 확보하거나, 데이터 마이그레이션 시 ID 충돌을 피하고 싶을 때 유용하게 활용할 수 있습니다.