START TRANSACTION
COMMIT
ROLLBACK
START TRANSACTION
INSERT INTO 주문 VALUES(4, '2014-03-01', 1);
INSERT INTO 주문상품 VALUES(4, '0003', 1);
INSERT INTO 주문상품 VALUES(4, '0004', 2);
COMMIT
복수 테이블에 INSERT 할 때 주로 사용됨.
쿼리문 중 한 개의 Insert 실패 시, ROLLBACK 처리되고 실패 이전의 쿼리문에 대한 임시 데이터는 저장되지 않고 삭제됨.
즉, 트랜잭션을 롤백하면 변경한 내용이 적용되지 않음
트랜잭션을 사용 시, 자동커밋을 꺼야함.
COMMIT 시 임시 데이터 영역 -> 정식 데이터 영역으로 변경
ROLLBACK 시 임시 데이터 영역에서의 처리는 버려짐
자동 커밋은 클라이언트 툴 기능
데이터베이스 서버에서는 언제나 트랜잭션 걸 수 있는 상태로 SQL 명령 실행
START TRANSACTION 사용
BEGIN TRANSACTION 사용
사용 안함
출처 : SQL 첫걸음 아사이 아츠시 지음 [한빛미디어]