
PDO::lastInsertId 메서드는 마지막으로 INSERT, UPDATE, REPLACE, DELETE, 또는 트랜잭션에 포함된 INSERT, UPDATE, REPLACE, DELETE 쿼리에서 AUTO_INCREMENT 또는 AUTO_INCREMENT에 해당하는 ID를 반환합니다.
여러 INSERT INTO 문이 있는 경우, PDO::lastInsertId 메서드는 마지막으로 실행된 INSERT INTO 문에서 AUTO_INCREMENT ID를 반환합니다.
예를 들어, 다음과 같은 쿼리를 실행한 경우:
#hostingforum.kr
php
$stmt = $pdo->prepare('INSERT INTO 테이블명 (컬럼명) VALUES (?)');
$stmt->execute([값]);
$stmt->execute([값]);
PDO::lastInsertId 메서드는 두 번째 INSERT INTO 문에서 AUTO_INCREMENT ID를 반환합니다.
만약 AUTO_INCREMENT ID가 없거나, 트랜잭션 내에서 쿼리가 실행된 경우, PDO::lastInsertId 메서드는 NULL을 반환합니다.
또한, PDO::lastInsertId 메서드는 트랜잭션 내에서 실행된 쿼리에서 AUTO_INCREMENT ID를 반환합니다.
예를 들어, 다음과 같은 쿼리를 실행한 경우:
#hostingforum.kr
php
$pdo->beginTransaction();
$stmt = $pdo->prepare('INSERT INTO 테이블명 (컬럼명) VALUES (?)');
$stmt->execute([값]);
$pdo->commit();
PDO::lastInsertId 메서드는 INSERT INTO 문에서 AUTO_INCREMENT ID를 반환합니다.
만약 트랜잭션 내에서 쿼리가 롤백된 경우, PDO::lastInsertId 메서드는 NULL을 반환합니다.
따라서, PDO::lastInsertId 메서드를 사용할 때는 AUTO_INCREMENT ID가 있는지 확인하고, 트랜잭션 내에서 쿼리가 실행된 경우를 고려해야 합니다.
2025-06-16 05:51