Table of Contents
- 트랜잭션은 Session 단위로 제어됨
- DDL 작업에 대해서는 ROLLBACK 적용 안됨 (DDL은 AutoCommit)
오토커밋 확인하기
- AutoCommit은 DML 실행문이 자동으로 커밋되는 것을 의미
- 해제해야 트랜잭션 처리 가능
SHOW VARIABLES LIKE '%commit%'
트랜잭션 기능 활성화
START TRANSACTION
SET AUTOCOMMIT = FALSE
트랜잭션 처리
-- DML 작업을 한 후
UPDATE <테이블> SET <컬럼명> = <값> WHERE <조건>
-- 커밋하고 싶은 경우
COMMIT
-- 롤백하고 싶은 경우
ROLLBACK
상태 저장
-- DML 작업을 한 후
UPDATE <테이블> SET <컬럼명> = <값> WHERE <조건>
-- 이전 까지의 상태를 x로 저장
SAVEPOINT x
-- x 상태로 롤백
ROLLBACK TO SAVEPOINT x