MySQL 에서 테이블에 이미 존재하는 값으로 UPDATE 하는 경우

by 조쉬 posted Jul 18, 2018
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

MySQL 에서 테이블에 이미 존재하는 값으로 UPDATE SQL 문을 실행한 경우, MySQL 은 이를 감지하여서 값을 수정하지 않는다고 합니다. 아래의 참고자료 웹페이지에 아래와 같이 기술되어 있습니다.


If you set a column to the value it currently has, MySQL notices this and does not update it.


mysql 클라이언트에서 이미 존재하는 값으로 아래와 같이 UPDATE SQL 문을 실행하면 변경된 것이 없다고 표시되는 것 같습니다.


mysql> update test set percent = 29 where type = 1;
Query OK, 0 rows affected (0.01 sec)
Rows matched: 1  Changed: 0  Warnings: 0


그런데... 실제 테이블에 이미 존재하는 값으로 UPDATE SQL 문을 실행해 보면 아래와 같이 디스크 write 를 하는 것 같습니다. 참고로 저는 MySQL 5.5.27 윈도우 버전에서 테스트해 보았습니다.