
트랜잭션 : 하나의 작업 단위(=논리적으로 끊기지 않는 일련의 DML 작업들)를 묶기 위해
트랜잭션은 Connection 단위로 진행됨
하나의 트랜잭션으로 묶고 싶은 모든 작업은 반드시 동일한 Connection 객체를 공유해야 함
-- MySQL
set autocommit = false;
start transaction; -- 🔽 여기부터 트랜잭션 시작
-- 트랜잭션 대상: DML 문 (INSERT, UPDATE, DELETE)
insert into test(name) values('SCOTT')
delete from test where test_id = 1;
update test set name = '아담스' where test_id = 2;
-- 🔼 여기까지가 하나의 트랜잭션 (작업 단위)
그 뒤에 오는 다음 중 하나로 트랜잭션이 종료:
commit : 위 작업들을 영구 반영rollback : 위 작업들을 모두 취소하고 되돌림