여러 SQL이라도 한 묶음 — 절반만 반영은 금지
트랜잭션 = 하나의 논리적 작업 단위
트랜잭션TRANSACTION
Definition
데이터베이스 상태를 변환시키는 하나의 논리적 작업 단위. 여러 SQL이 묶여도 All or Nothing(전부 성공 / 전부 실패) — 중간 상태 ❌. 시작 BEGIN, 종료 COMMIT(반영) 또는 ROLLBACK(취소).
BEGIN TRANSACTION;
UPDATE account SET balance = balance - 10000
WHERE id = 'A'; -- ① A 출금
UPDATE account SET balance = balance + 10000
WHERE id = 'B'; -- ② B 입금
INSERT INTO transaction_log VALUES (...); -- ③ 내역
COMMIT; -- 세 SQL 한 묶음으로 영구 반영
합격 한 줄
트랜잭션 = 여러 SQL이 한 묶음, All or Nothing. A에서 1만 원 빠졌는데 B에 입금이 안 들어가면 1만 원 공중분해 = 금융사고. 이 한 줄이 오늘 전체의 척추예요.