트랜잭션 상태 ( DBMS Commit 기능 해제 )

TopOfTheHead·2026년 4월 14일

데이터베이스

목록 보기
5/13

트랜잭션 상태
트랜잭션은 실행되는 동안 여러 상태를 거치며 진행

  • 활성 ( Active )
    트랜잭션이 시작되어 수행중인 상태
    메모리캐시 용도의 Buffer 내에서 저장되며 아직 보조기억장치DBMS에 반영되지 않음.

  • 부분 완료 ( Partially Committed )
    트랜잭션이 모든 SQL문을 실행했지만 아직 COMMIT되지 않은 상태
    ▶ 오류 발생 시 실패 상태로 전환 될 수 있음

  • 완료 ( Committed )
    트랜잭션이 성공적으로 완료되어 데이터영구적으로 반영된 상태
    Buffer변경사항보조기억장치에 반영

    MySQL 등의 DBMS에서는 SQL 실행트랜잭션으로서 자동으로 Auto Commit이 반영
    ▶ 원래라면 일일이 COMMIT을 입력해서 커밋해야함

  • 실패 ( Failed )
    。오류로 인해 트랜잭션이 정상적으로 완료되지 못한 상태

  • 철회 ( Aborted )
    트랜잭션이 실패하여 ROLLBACK이 수행되어 트랜잭션 이전 상태로 복구된 상태

Data Grip에서 Transaction Mode 해제
MySQL과 같은 DBMSAuto Commit이 설정되어 매 SQL을 실행할때마다 자동으로 Commit이 되는 특징이 존재
▶ 해당 기능을 종료할 수 있다.

Transaction Mode - Manual 설정


。이후 TRANSACTION 작성 시 COMMIT을 수행하지 않는 경우 DB에 반영되지 않음.

START TRANSACTION;
// 트랜잭션 상태 : 실행
UPDATE
    account
set
    balance = balance - 300000
where
    account_id = 1;
// 트랜잭션 상태 : 부분완료
SELECT * FROM account;
//
COMMIT;
// 트랜잭션 상태 : 완료
ROLLBACK;
// 트랜잭션 상태 : 중단

COMMITROLLBACK은 관례적으로 함께 작성

profile
공부기록 블로그

0개의 댓글