SQL/MySQL

[MySQL] 가장 최근에 입력한 idx값 얻어오기 last_insert_id , mysql_insert_id

http://portfolio.wonpaper.net 2019. 5. 16. 19:42

개발하다 보면 자주 접하는 부분이다.

 

insert 문으로 DB 입력을 하면 그 최근의 idx 값을 불러와야 할때 쓰이는 두 함수 이다.

 

차이점은 last_insert_id 는 mysql 구문내에서 쓰이고, mysql_insert_id 는 PHP상의 함수이다.

 

mysql

mysql_query("insert into 테이블 (a,b,c) values ('1','2','3')");
$lastNoRes = mysql_query("select LAST_INSERT_ID() from 테이블") or die ("마지막 no 값 얻기 실패1");
$lastNoRow = mysql_fetch_row($lastNoRes);
if ($lastNoRow[0]) {

  $idGap = $lastNoRow[0] + 1;

} else {


  $idGap = 1;
}


 

PHP

 

$res = mysql_query("insert into 테이블 (a,b,c) values ('1','2','3')");
if ($res) {
  $idGap = mysql_insert_id();
}

 

// 방금 삽입한 shop_goods 의 goods_no 값얻기
$lastNoRes = mysql_query("select LAST_INSERT_ID() from shop_goods") or die ("마지막 no 값 얻기 실패");
$lastNoRow = mysql_fetch_row($lastNoRes);
echo "<br>" .$lastNoRow[0];