반응형
mysql에서 update 쿼리를 날렸을 때 다음과 같은 에러가 나는 경우가 있다.
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: '-Infinity'
워니는 조건문에 필드 데이터가 비교할 수 없는 데이터가 존재해서 그런는 듯하다.
나같은 경우는 IFNULL을 이용해서 해결하였다.
ex)
update [테이블명] set abc='abc' where field > 10 //이전
update [테이블명] set abc='abc' where IFNULL(field, 0) > 10 //이후
혹은 다른 사이트에서는
update [테이블명] set abc='abc' and cde = 'cde' where field > 10 //이전
update [테이블명] set abc='abc' , cde = 'cde' where field > 10 //이후
and를 ,로 바꿔주라고 말하는 경우가 있는데
나의 경우는 이미 , 였는데 해결이 되지 않아 ifnull 함수를 이용해서 해결하였다.
728x90
'[개발관련] > Database(Mysql)' 카테고리의 다른 글
[mysql] group by로 누락된 최신 시간 정보 가져오기 (0) | 2024.05.22 |
---|---|
Spring Data JPA 한글 등록 문제 (0) | 2021.03.29 |
GROUP BY 사용시 only_full_group_by 관련 에러 발생시 (0) | 2019.05.29 |
[ Mysql] DB Time Zone 변경 (0) | 2019.04.08 |
쿼리 연습 ex )세로축은 product_name별, 가로축은 주문년도를 "2015년", "2016년"으로 구성하여 product_name별, 년도별 주문건수를 집계하세요. (주문건수가 없으면 0으로 표시) (0) | 2019.04.07 |