LAST_INSERT_ID 함수

설명

LAST_INSERT_ID 함수는 모든 테이블의 AUTO_INCREMENT 컬럼 중 가장 마지막에 생성된 값을 반환한다.

성공적으로 INSERT된 값이 없을 때에는 가장 마지막에 성공한 값이 유지되며, 실행 중인 SQL 문은 LAST_INSERT_ID() 값에 영향을 주지 않는다. 하나의 INSERT 문을 사용하여 여러 행을 입력하면, LAST_INSERT_ID()는 가장 마지막에 입력한 행의 값을 반환한다. 이전 SQL 문의 수행 결과가 오류를 반환하면, LAST_INSERT_ID() 값은 정의되지 않으며, 롤백해도 LAST_INSERT_ID() 값은 이전 트랜잭션 값으로 복구되지 않는다.

트리거 내에서 사용한 LAST_INSERT_ID() 값은 트리거 밖에서 확인할 수 없다.

생성된 ID는 각 클라이언트의 연결마다 독립적으로 유지된다.

구문

LAST_INSERT_ID()

예제

CREATE TABLE ss (id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, text VARCHAR(32));

INSERT into ss VALUES(NULL,’cubrid’);

SELECT LAST_INSERT_ID();

 

     last_insert_id()

=======================

                     1

 

INSERT INTO ss VALUES(NULL,’database’),(NULL,’manager’);

SELECT LAST_INSERT_ID();

 

     last_insert_id()

=======================

                     3