Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 AUTO_INCREMENT를 특정 값부터 시작하도록 설정하는 방법

MySQL에서 자동 증가(AUTO_INCREMENT) 값을 특정 지점부터 시작하도록 설정하려면 ALTER 명령어를 사용하면 됩니다. 기본 문법은 다음과 같습니다.

ALTER TABLE yourTableName auto_increment = anySpecificPoint;

예제 테이블 생성하기

개념을 쉽게 이해하기 위해 먼저 테이블을 하나 만들어 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> create table AutoIncrementSpecificPoint
   -> (
   -> BookId int auto_increment not null,
   -> Primary key(BookId)
   -> );
Query OK, 0 rows affected (0.56 sec)

레코드 삽입 후 확인하기

이제 INSERT 명령어를 사용해 레코드를 삽입해 보겠습니다.

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.17 sec)

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.17 sec)

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.09 sec)

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.10 sec)

위의 INSERT 명령은 1부터 값을 시작하여 다음 값마다 1씩 증가시킵니다. SELECT 문으로 테이블의 모든 레코드를 조회해 확인할 수 있습니다.

mysql> select *from AutoIncrementSpecificPoint;

실행 결과는 다음과 같습니다.

+--------+
| BookId |
+--------+
|      1 |
|      2 |
|      3 |
|      4 |
+--------+
4 rows in set (0.00 sec)

위 출력 결과를 보면 AUTO_INCREMENT가 1부터 시작된 것을 확인할 수 있습니다.

AUTO_INCREMENT 시작 값 변경하기

이제 AUTO_INCREMENT가 특정 지점부터 시작하도록 변경하려면 ALTER 명령어를 사용합니다. 쿼리는 다음과 같습니다.

mysql> alter table AutoIncrementSpecificPoint auto_increment = 100;
Query OK, 0 rows affected (0.25 sec)
Records: 0 Duplicates: 0 Warnings: 0

위 쿼리에서는 자동 증가 시작 값을 100으로 설정했습니다. 이제 다시 INSERT 명령어로 레코드를 삽입해 보겠습니다.

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.25 sec)

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.18 sec)

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.14 sec)

SELECT 문으로 테이블의 모든 레코드를 다시 조회해 보겠습니다.

mysql> select *from AutoIncrementSpecificPoint;

다음은 변경된 자동 증가 값, 즉 100부터 시작되는 결과입니다.

+--------+
| BookId |
+--------+
|      1 |
|      2 |
|      3 |
|      4 |
|    100 |
|    101 |
|    102 |
+--------+
7 rows in set (0.00 sec)

출력 결과에서 볼 수 있듯이, ALTER 명령어로 시작 값을 100으로 지정한 이후 삽입된 레코드들은 100, 101, 102처럼 해당 값부터 순차적으로 증가하는 것을 확인할 수 있습니다.