조건 없는 UPDATE는 모든 행을 같은 현재값으로 덮는다

문법상 올바른 UPDATE라도 WHERE가 없으면 목표 회원 한 명이 아니라 테이블 전체가 변경 대상입니다.

UPDATE members SET status='BLOCKED'

WHERE 없음 → 모든 회원 행 변경

... WHERE id=? AND status='ACTIVE'

정확한 대상 + 기대 현재값이 맞을 때만 1행

핵심: 변경 전 SELECT와 동일한 키·현재 상태 조건을 UPDATE에 넣고 예상 행 수가 아니면 커밋하지 않습니다.