MySQL에서 테이블의 현재 AUTO_INCREMENT 값을 확인하려면 last_insert_id() 함수를 사용할 수 있습니다. 이번 글에서는 실제 예제를 통해 마지막으로 삽입된 자동 증가 값과 다음에 생성될 자동 증가 값을 확인하는 방법을 단계별로 살펴보겠습니다.
1. 테이블 생성하기
먼저 CREATE TABLE 명령어를 사용하여 AUTO_INCREMENT 컬럼이 포함된 테이블을 생성합니다.
mysql> CREATE table AutoIncrement -> ( -> IdAuto int auto_increment, -> primary key(IdAuto) -> ); Query OK, 0 rows affected (0.59 sec)
2. 레코드 삽입하기
테이블 생성이 완료되면 INSERT 명령어로 여러 개의 레코드를 삽입합니다. IdAuto 컬럼은 자동 증가되므로 별도의 값을 지정하지 않아도 됩니다.
mysql> INSERT into AutoIncrement values(); Query OK, 1 row affected (0.48 sec) mysql> INSERT into AutoIncrement values(); Query OK, 1 row affected (0.17 sec) mysql> INSERT into AutoIncrement values(); Query OK, 1 row affected (0.13 sec) mysql> INSERT into AutoIncrement values(); Query OK, 1 row affected (0.09 sec)
3. 저장된 데이터 확인하기
SELECT 명령어를 사용하여 테이블에 삽입된 모든 레코드를 조회해 보겠습니다.
mysql> SELECT * from AutoIncrement; +--------+ | IdAuto | +--------+ | 1 | | 2 | | 3 | | 4 | +--------+ 4 rows in set (0.00 sec)
결과를 보면 총 4개의 레코드가 삽입되었으며, 마지막 자동 증가 값은 4입니다.
4. last_insert_id()로 현재 값 확인하기
last_insert_id() 함수는 현재 세션에서 가장 최근에 삽입된 자동 증가 값을 반환합니다. 아래 쿼리를 실행하면 현재 삽입된 값인 4를 확인할 수 있습니다.
mysql> SELECT last_insert_id();
실행 결과는 다음과 같습니다.
+------------------+ | last_insert_id() | +------------------+ | 4 | +------------------+ 1 row in set (0.00 sec)
5. 다음 AUTO_INCREMENT 값 확인하기
만약 다음에 생성될 자동 증가 값을 알고 싶다면, INFORMATION_SCHEMA.TABLES를 조회하면 됩니다. 기본 문법은 다음과 같습니다.
SELECT `AUTO_INCREMENT` FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '데이터베이스명' AND TABLE_NAME = '테이블명';
실제로 위 쿼리를 적용해 보겠습니다.
mysql> SELECT `AUTO_INCREMENT` -> FROM INFORMATION_SCHEMA.TABLES -> WHERE TABLE_SCHEMA = 'business' -> AND TABLE_NAME = 'AutoIncrement';
실행 결과는 다음과 같습니다.
+----------------------------+ | AUTO_INCREMENT | +----------------------------+ | 5 | +----------------------------+ 1 row in set (0.13 sec)
정리
위 쿼리 결과에서 알 수 있듯이, INFORMATION_SCHEMA.TABLES를 조회하면 다음에 사용될 자동 증가 값(5)을 미리 확인할 수 있습니다. 정리하면 다음과 같습니다.
- last_insert_id(): 현재 세션에서 마지막으로 삽입된 자동 증가 값을 반환합니다.
- INFORMATION_SCHEMA.TABLES 조회: 특정 테이블의 다음 AUTO_INCREMENT 값을 확인할 수 있습니다.
두 방법을 상황에 맞게 활용하면 MySQL에서 자동 증가 값을 손쉽게 관리할 수 있습니다.