
	                	                 
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