먼저 같은 WHERE로 미리 봐
UPDATE와 DELETE는 조건이 없으면 모든 행을 바꿔. 실행 전에 같은 WHERE를 SELECT에 붙여 대상 행 수와 표본을 확인하고, 결과가 맞을 때만 쓰기 문장으로 바꿔.
트랜잭션 안에서 확인해
BEGIN;으로 시작해 변경을 실행하고 결과를 살핀 뒤 맞으면 COMMIT;, 아니면 ROLLBACK;해. RETURNING *을 붙이면 바뀌거나 지워진 행을 즉시 볼 수 있어.
조건 없는 문장을 경계해
UPDATE users SET role = 'admin';과 DELETE FROM users;는 문법상 완전히 유효하고 모든 행에 적용돼. 도구와 검토 절차가 이를 위험한 동작으로 취급하도록 만들어.