MySQL에서 자동 증분(Auto Increment) 열을 사용하려면 테이블을 생성할 때 해당 열에 AUTO_INCREMENT 속성을 지정하면 됩니다. 이렇게 설정하면 새로운 레코드가 삽입될 때마다 해당 열의 값이 자동으로 1씩 증가하므로, 일련번호나 고유 식별자(ID)를 직접 관리할 필요가 없습니다.
1. 테이블 생성하기
먼저 테이블을 생성해 보겠습니다. 아래 예제에서는 Id 필드를 자동 증분 열로 설정하고, 기본 키(PRIMARY KEY)로 함께 지정했습니다.
mysql> create table DemoTable
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FirstName varchar(20),
-> LastName varchar(20)
-> );
Query OK, 0 rows affected (0.71 sec)여기서 AUTO_INCREMENT를 적용한 열은 반드시 인덱스(일반적으로 기본 키)여야 하며, 정수형 타입이어야 한다는 점에 유의하세요.
2. 레코드 삽입하기
INSERT 명령을 사용하여 테이블에 레코드를 삽입합니다. 이때 Id 열은 값을 지정하지 않아도 되며, MySQL이 자동으로 순차적인 번호를 부여합니다.
mysql> insert into DemoTable(FirstName,LastName) values('John','Smith');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(FirstName,LastName) values('Chris','Brown');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(FirstName,LastName) values('Carol','Taylor');
Query OK, 1 row affected (0.21 sec)위의 INSERT 문에서는 FirstName과 LastName만 지정했음을 확인할 수 있습니다. Id 값은 별도로 입력하지 않았지만 자동으로 생성됩니다.
3. 결과 확인하기
SELECT 문을 사용하여 테이블의 모든 레코드를 조회해 보겠습니다.
mysql> select * from DemoTable;
출력 결과
+----+-----------+----------+ | Id | FirstName | LastName | +----+-----------+----------+ | 1 | John | Smith | | 2 | Chris | Brown | | 3 | Carol | Taylor | +----+-----------+----------+ 3 rows in set (0.00 sec)
출력 결과를 보면 Id 열에 1, 2, 3이 순서대로 자동 할당된 것을 확인할 수 있습니다. 이처럼 AUTO_INCREMENT를 활용하면 레코드마다 고유한 번호를 손쉽게 관리할 수 있어, 회원 번호, 주문 번호 등 다양한 상황에서 유용하게 사용됩니다.