더북(TheBook)

오류 메시지는 “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;

실행결과

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.