반응형

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

+ Recent posts