1. TCL (Transaction Control Language)


트랜잭션의 시작·확정·취소를 제어하는 SQL

대표 명령어

명령어 역할
START TRANSACTION 트랜잭션 시작
COMMIT 변경 사항 확정
ROLLBACK 변경 사항 취소
SAVEPOINT 중간 저장 지점
ROLLBACK TO SAVEPOINT 특정 지점까지 되돌림

2. 트랜잭션의 기본 개념(ACID)


속성 설명
Atomicity(원자성) 전부 성공 or 전부 실패
Consistency 무결성 유지
Isolation 트랜잭션 간 간섭 방지
Durability COMMIT 후 영구 반영

3. 기본 사용 흐름


-- 트랜잭션 시작 선언
START TRANSACTION;

-- DML
INSERT INTO rentals (book_id, member) VALUES (1, '홍길동');
UPDATE books SET stock = stock - 1 WHERE id = 1;

-- 커밋
COMMIT;

4. AUTOCOMMIT과 TCL


AUTOCOMMIT = 기본값 ON

-- AUTOCOMMIT 상태 확인
SELECT @@AUTOCOMMIT;
-- 1 이면 ON