mysql_insert_id DB자라/MySQL2009. 11. 9. 11:23
mysql_insert_id
(PHP 4, PHP 5)
mysql_insert_id — 이전의 INSERT 작업으로부터 생성된 ID를 반환
설명
이전의 INSERT 질의로부터 AUTO_INCREMENT 컬럼에 의해 생성된 ID를 반환한다.
인수
- link_identifier
-
MySQL 연결. 지정하지 않으면 mysql_connect()로 연 마지막 연결을 사용합니다. 연결이 없으면, 인수 없이 mysql_connect()를 호출하여 연결을 만듭니다. 연결이 성립되지 않으면 E_WARNING 등급의 오류를 생성합니다.
반환값
성공하면 이전의 INSERT 질의에 의한 AUTO_INCREMENT 컬럼으로부터 생성된 ID를, 이전 질의로부터 AUTO_INCREMENT 값이 생성되지 않았다면, 0을, MySQL 접속이 되지 않은 상태였다면 FALSE를 반환한다.
예제
Example #1 mysql_insert_id() 예제
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');
mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>
주의
mysql_insert_id()는 원시(native) MySQL C API 함수인 mysql_insert_id()의 long형태의 반환값을 PHP의 int로 변환한다. AUTO_INCREMENT 컬럼이 BIGINT이면, mysql_insert_id()에 의해 반환되는 값은 잘못될 것이다. 이경우, MySQL SQL 내부 함수인 LAST_INSERT_ID()를 사용하면 된다.
Note: mysql_insert_id()는 최근 수행한 질의에 대해서 동작하기 때문에, 생성된 값은 질의 직후에 mysql_insert_id()를 호출해야 된다.
Note: MySQL SQL 함수인 LAST_INSERT_ID()는 가장 최근에 생성된 AUTO_INCREMENT 값을 담고 있으며, 질의 간에 지워지지는 않는다.