
PDO::commit 메서드는 데이터베이스 트랜잭션을 커밋하는 역할을 하지만, 트랜잭션을 롤백하는 경우 PDO::commit을 호출하면 안됩니다.
트랜잭션을 롤백하기 전에 PDO::commit을 호출하면 트랜잭션의 변경 내용이 데이터베이스에 저장되기 때문에 롤백이 불가능합니다.
따라서, PDO::commit을 호출하기 전에 트랜잭션을 롤백해야 하는 경우 PDO::rollBack 메서드를 호출하여 트랜잭션을 롤백해야 합니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
try {
// 트랜잭션을 시작합니다.
$pdo->beginTransaction();
// 트랜잭션 내에서 데이터베이스 작업을 수행합니다.
$pdo->exec('INSERT INTO 테이블명 VALUES (값1, 값2)');
// 트랜잭션을 롤백합니다.
$pdo->rollBack();
} catch (Exception $e) {
// 오류가 발생한 경우, PDO::rollBack을 호출하여 트랜잭션을 롤백합니다.
$pdo->rollBack();
} finally {
// 트랜잭션을 커밋합니다.
$pdo->commit();
}
이러한 방식으로 PDO::commit을 호출하기 전에 트랜잭션을 롤백할 수 있습니다.
2025-04-28 02:51