트랜잭션의 시작·확정·취소를 제어하는 SQL
| 명령어 | 역할 |
|---|---|
| START TRANSACTION | 트랜잭션 시작 |
| COMMIT | 변경 사항 확정 |
| ROLLBACK | 변경 사항 취소 |
| SAVEPOINT | 중간 저장 지점 |
| ROLLBACK TO SAVEPOINT | 특정 지점까지 되돌림 |
| 속성 | 설명 |
|---|---|
| Atomicity(원자성) | 전부 성공 or 전부 실패 |
| Consistency | 무결성 유지 |
| Isolation | 트랜잭션 간 간섭 방지 |
| Durability | COMMIT 후 영구 반영 |
-- 트랜잭션 시작 선언
START TRANSACTION;
-- DML
INSERT INTO rentals (book_id, member) VALUES (1, '홍길동');
UPDATE books SET stock = stock - 1 WHERE id = 1;
-- 커밋
COMMIT;
AUTOCOMMIT = 기본값 ON
-- AUTOCOMMIT 상태 확인
SELECT @@AUTOCOMMIT;
-- 1 이면 ON