
mysqli::release_savepoint 함수는 트랜잭션 내에서 설정한 savepoint를 해제하는 함수입니다.
트랜잭션 내에서 savepoint를 설정한 후 release_savepoint 함수를 호출하면, savepoint 이후의 모든 변경이 취소되고, 트랜잭션은 이전 상태로 돌아갑니다.
예를 들어, 다음과 같이 savepoint를 설정하고 release_savepoint를 호출하는 경우:
#hostingforum.kr
php
$mysqli = new mysqli("localhost", "username", "password", "database");
$mysqli->autocommit(false); // 트랜잭션 시작
$mysqli->query("INSERT INTO 테이블명 VALUES ('값1', '값2')"); // 데이터 삽입
$savepoint = $mysqli->query("SAVEPOINT 'savepoint1'"); // savepoint 설정
$mysqli->query("INSERT INTO 테이블명 VALUES ('값3', '값4')"); // 데이터 삽입
$mysqli->release_savepoint($savepoint); // savepoint 해제
$mysqli->query("INSERT INTO 테이블명 VALUES ('값5', '값6')"); // 데이터 삽입
$mysqli->commit(); // 트랜잭션 커밋
이 경우, savepoint 'savepoint1' 이후의 데이터 삽입이 취소되고, 트랜잭션은 이전 상태로 돌아갑니다.
2025-07-08 00:45