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];