[ Programing ]/Database

[MySQL] 시퀀스(Identity)의 AUTO_INCREMENT 와 LAST_INSERT_ID()

Mister_Q 2023. 5. 8. 11:09

# SHOW TABLE STATUS : 테이블 상태 확인 하기.
> SHOW TABLE STATUS WHERE NAME = "[TABLE]";

# LAST_INSERT_ID() : INSERT 쿼리가 수행될 때 메모리로 저장된 구문값 호출.
> INSERT INTO ... VALUES(...);
> INSERT INTO ... VALUES(...);
> INSERT INTO ... VALUES(...);     -- INSERT 3번 생성
> SELECT LAST_INERT_ID();   
     -- 결과 : 3

> INSERT INTO ... VALUES(...)(...)(...);     -- 하나의 쿼리로 INSERT 3번 생성
> SELECT LAST_INERT_ID();
     -- 결과 : 4  
       (INSERT VALUES 6번 삽입 되었다고 결과 4가 나오는게 아님.)




INSERT 후 시퀀스 다음 번호를 알고 있다면 AUTO_INCREMENT 확인하자.
(성능 보장 못함. 테스트 X)

> SELECT AUTO_INCREMENT 
   FROM information_schema.TABLES 
   WHERE TABLE_SCHEMA = "[DATABASE]" AND TABLE_NAME = "[TABLE]";

혹은, SHOW TABLE 에서 AUTO_INCREMENT 확인.
> SHOW TABLE STATUS WHERE NAME = "[TABLE]";




참고 : https://blog.naver.com/pjt3591oo/222890004904

 

[mysql] auto_increment와 last_insert_id()

안녕하세요. 멍개입니다. 이번 시간은 PK로 자주 사용하는 AUTO_INCREMENT를 알아보겠습니...

blog.naver.com