본문 바로가기

Computer

insert 한후, auto_increment값 알고싶을때

mysql 콘솔에서는 last_insert_id() 내장 함수를 사용하시면 되고
API 로는 mysql_insert_id() 가 있습니다.

위 함수는 바로 전에 입력된 auto_increment 값을 출력해 줍니다.


mysql_insert_id -- 최근 INSERT 작업으로부터 생성된 identifier 값을 반환
설명
int mysql_insert_id ( [int link_identifier])


mysql_insert_id()는 link_identifier를 사용하면, INSERT 질의로 행(row)를 추가한 뒤 AUTO_INCREMENT로 생성된 테이블의 컬럼에 추가된 값을 얻을 수 있다. link_identifier를 지정하지 않으면, 마지막에 열려진 link를 사용한다.

mysql_insert_id()는 이전 질의가 AUTO_INCREMENT값으로 생성되지 않으면, 0을 반환한다. 마지막으로 저장된 값이 필요하다면, 질의로 값을 추가한 직후 mysql_insert_id()를 사용하면 된다.

참고: LAST_INSERT_ID()는 AUTO_INCREMENT 값으로 생성된 가장 최근 값이 보관되며, 질의할 동안에는 없어지지 않는다.


주의
mysql_insert_id()는 MySQL C API 내장 함수인 mysql_insert_id()로부터 long 타입으로 변환한다. 만일, AUTO_INCREMENT 열(column)의 타입이 BIGINT라면, mysql_insert_id()은 부정확한 값을 반환할 것이다. 그대신, 내부 MySQL 함수인 LAST_INSERT_ID()를 사용하면 된다.


******************************************************************************************************************
MS SQL 의 경우

Set RS = conTbl.Execute("Select @@identity")
RS(0)