안전한 DML은 대상 고정부터 커밋까지 증거를 남긴다

대상 PK와 현재값을 읽고 보호 조건이 있는 변경을 수행한 뒤 같은 트랜잭션에서 결과를 재확인합니다.

  1. 1

    사전 SELECT

    PK·현재값·예상 건수

  2. 2

    보호 조건

    키 + 기대 상태

  3. 3

    DML 실행

    UPDATE 또는 DELETE

  4. 4

    사후 확인

    ROW_COUNT + 다시 조회

  5. 5

    최종 선택

    일치하면 COMMIT, 아니면 ROLLBACK

핵심: ROW_COUNT가 예상과 다르면 동시 변경이나 조건 오류이므로 커밋 대신 원인을 조사합니다.