개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.09 14:14

mysqli::release_savepoint에 대해 질문입니다.

목록
  • 로직수호자 13일 전 2025.03.09 14:14
  • 10
    1
저는 현재 MySQLi를 사용하여 트랜잭션을 처리하고 있습니다.
savepoint를 사용하여 중간에 롤백하는 기능을 구현하고 싶습니다.
하지만 mysqli::release_savepoint에 대해 잘 모르겠습니다.
이 메서드는 어떤 역할을 하며, 사용 방법은 어떻게 되는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  13일 전



    mysqli::release_savepoint 메서드는 트랜잭션 내에서 선언된 savepoint를 해제하는 역할을 합니다.

    savepoint를 선언한 후, 트랜잭션을 롤백할 때 사용됩니다.

    트랜잭션 내에서 savepoint를 선언한 후, 롤백을 수행할 때는 savepoint를 해제해야 합니다.

    해제하지 않으면, 트랜잭션 내에서 선언된 모든 savepoint가 해제됩니다.

    해제를 위해 mysqli::release_savepoint 메서드를 사용합니다.

    예를 들어, 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $mysqli = new mysqli('localhost', 'username', 'password', 'database');
    
    
    
    $mysqli->autocommit(false); // 트랜잭션을 시작합니다.
    
    
    
    $mysqli->query('START TRANSACTION;'); // 트랜잭션을 시작합니다.
    
    
    
    $mysqli->query('SAVEPOINT savepoint1;'); // savepoint를 선언합니다.
    
    
    
    // 작업을 수행합니다.
    
    
    
    $mysqli->query('ROLLBACK TO SAVEPOINT savepoint1;'); // savepoint로 롤백합니다.
    
    
    
    $mysqli->query('RELEASE SAVEPOINT savepoint1;'); // savepoint를 해제합니다.
    
    
    
    $mysqli->query('COMMIT;'); // 트랜잭션을 완료합니다.
    
    
    
    $mysqli->autocommit(true); // 트랜잭션을 종료합니다.
    
    


    mysqli::release_savepoint 메서드는 트랜잭션 내에서 선언된 savepoint를 해제하는 역할을 하며, 사용 방법은 위의 예제와 같이 사용할 수 있습니다.

    2025-03-09 14:15

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 5,548건 / 233 페이지

검색

게시물 검색