← 문제 목록
고급
SQL
100P
데드락 시나리오
두 트랜잭션이 동시에 실행될 때 데드락이 발생합니다. 원인을 찾으세요:
SQL
-- 트랜잭션 A
START TRANSACTION;
UPDATE accounts SET balance = balance - 100
WHERE id = 1; -- 행1 잠금
UPDATE accounts SET balance = balance + 100
WHERE id = 2; -- 행2 대기
-- 트랜잭션 B (동시 실행)
START TRANSACTION;
UPDATE accounts SET balance = balance - 50
WHERE id = 2; -- 행2 잠금
UPDATE accounts SET balance = balance + 50
WHERE id = 1; -- 행1 대기 -> 데드락!
0명 풀이 · 정답률 0%