Mysql 데이터베이스에 데이터를 Insert한 후 PK 값을 바로 사용해야 하는 경우에 사용할 수 있는 예
1. PHP 구문
$query = "INSERT INTO table (field1, field2) VALUES (value1, value2)"; $result = mysql_query($query); if ($result) $last_uid = mysql_insert_id();
2. MySQL 구문
$query = "INSERT INTO table (field1, field2) VALUES (value1, value2)"; $result = mysql_query($query); if ($result) $last_uid = mysql_query("last_insert_id()");
3. mysql_insert_id
(PHP 3, PHP 4 , PHP 5)
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 -- 최근 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 값으로 생성된 가장 최근 값이 보관되며, 질의할 동안에는 없어지지 않는다.
4. mysqli_insert_id
(PHP 5, PHP 7)
mysqli::$insert_id -- mysqli_insert_id — Returns the auto generated id used in the latest query
mysqli::$insert_id -- mysqli_insert_id — Returns the auto generated id used in the latest query
https://dev.mysql.com/doc/refman/5.7/en/mysql-insert-id.html
http://php.net/manual/en/function.mysql-insert-id.php