개발자 Q&A

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

2025.07.30 00:06

mysqli::commit 질문

목록
  • Lambda마법사 2일 전 2025.07.30 00:06
  • 7
    1
선생님, mysqli::commit 함수는 트랜잭션을 완료하는 데 사용되는데, 이 함수가 실제로 데이터베이스에 반영되는지 궁금합니다.

그리고, 만약에 mysqli::commit 함수를 사용하여 트랜잭션을 완료한 후 다시 롤백을 하려고 할 때, 이전에 완료된 트랜잭션의 영향을 어떻게 받을 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    mysqli::commit 함수는 트랜잭션을 완료하는 데 사용되며, 데이터베이스에 반영됩니다. 이는 데이터베이스의 일관성을 유지하기 위해 중요합니다.

    트랜잭션을 완료한 후 다시 롤백을 하려고 할 때, 이전에 완료된 트랜잭션의 영향을 받지 않습니다. 이는 트랜잭션의 원자성(Atomicity) 특성에 의해 보장됩니다. 트랜잭션은 완료되거나 취소되기 전까지 데이터베이스에 반영되지 않기 때문입니다.

    예를 들어, 다음과 같은 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $conn = new mysqli('localhost', 'username', 'password', 'database');
    
    
    
    // 트랜잭션 시작
    
    $conn->begin_transaction();
    
    
    
    // 트랜잭션 내에서 데이터 삽입
    
    $conn->query("INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2')");
    
    
    
    // 트랜잭션 완료
    
    $conn->commit();
    
    
    
    // 트랜잭션 롤백
    
    $conn->rollBack();
    
    


    이 코드에서, 트랜잭션을 완료한 후 다시 롤백을 하려고 할 때, 이전에 완료된 트랜잭션의 영향을 받지 않습니다.

    2025-07-30 00:07

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

검색

게시물 검색