오류 메시지는 “Duplicate entry ‘1019’ for key ‘emp_update1 PRIMARY’”라고 나오네요. 오류 내용을 보니 기본 키 문제라는 감이 오죠? emp_no 칼럼은 emp_update1 테이블의 기본 키 칼럼입니다. SET 절에서 emp_no = emp_no + 1을 기술했으므로 기존 emp_no 값에 1씩 더해 값을 수정합니다. 그런데 1018에 1을 더하면 1019입니다. 이미 1019라는 값이 있는데, 1018을 1019로 변경하려고 해서 기본 키 오류가 발생한 것이죠.
다음 문장을 봅시다.
코드 10-18
UPDATE emp_update1
SET emp_no = emp_no + 1
WHERE emp_no >= 1018
ORDER BY emp_no DESC;
SELECT *
FROM emp_update1;
실행결과