DML 안전 실행 흐름

데이터를 바꾸는 SQL은 실행보다 확인과 되돌릴 길이 먼저입니다.

INSERT, UPDATE, DELETE는 테이블 구조가 아니라 실제 행을 바꿉니다. 운영에서는 변경 전 범위와 변경 후 행 수를 둘 다 확인해야 합니다.

1

대상 범위 확인

SELECT COUNT(*)
WHERE 조건

바꿀 행 수가 기대와 맞는지 먼저 확인합니다.

2

트랜잭션 시작

BEGIN
START TRANSACTION

여러 변경이 하나의 작업이면 한 단위로 묶습니다.

3

DML 실행

INSERT
UPDATE ... WHERE
DELETE ... WHERE

WHERE와 제약 조건, 락 영향을 함께 봅니다.

4

결과 검증

affected rows
검증 SELECT

변경된 행 수와 실제 데이터를 확인합니다.

5

확정 또는 취소

COMMIT
ROLLBACK

예상과 다르면 커밋하지 않는 것이 마지막 안전장치입니다.

INSERT

컬럼 리스트를 명시해야 스키마 변경에 덜 흔들립니다.

UPDATE

WHERE와 SET 수식을 따로 검토해야 전체 수정 사고를 막습니다.

DELETE

복구와 FK 영향을 확인한 뒤 물리 삭제 여부를 결정합니다.