인프런 커뮤니티 질문&답변

mins199600님의 프로필 이미지
mins199600

작성한 질문수

스프링 부트 웹 개발 입문 - 따라하며 배우기

프론트 - 백엔드 연결하기

가격 수정만 자꾸 에러페이지로 갑니다...ㅜ

작성

·

39

0

 MyException Class 오류발생 =>com.boot.sailing_jsp.v2.service.MenuSvcV2

rror Error Error Error : My Exception 처리 => [[

### Error updating database. Cause: java.sql.SQLSyntaxErrorException: (conn=4058) Truncated incorrect DECIMAL value: '1>'

### The error may exist in file [C:\Users\mins1\OneDrive\Desktop\Sailing_jsp\build\resources\main\sqlmapper\v2\CoffeeMenuV2.xml]

### The error may involve defaultParameterMap

### The error occurred while setting parameters

### SQL: Update coffee_menu set price = CAST(? as INTEGER) WHERE no in ( ? )

### Cause: java.sql.SQLSyntaxErrorException: (conn=4058) Truncated incorrect DECIMAL value: '1>'

; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: (conn=4058) Truncated incorrect DECIMAL value: '1>' ]]

이렇게 오류가 뜨는데 해결 못한지 3일째예요ㅠㅠ

답변 2

0

IT늦공 김부장님의 프로필 이미지
IT늦공 김부장
지식공유자

안녕하세요.
해당 오류는 쿼리문 오류로 예상되며, 파라미터 값이 넘어갈때 예상치 못한 값이 넘어갔을것으로 예상됩니다. 파라미터의 값을 로그를 통해 확인해보시고 해당 쿼리문에 직접 대입해 보시는게 가장 빠른 해결책일듯 합니다. 파라미터의 값이 넘어올때 1> 의 문자로 넘어온것 같습니다.

0

안녕하세요, 인프런 AI 인턴입니다. mins199600님.

해주신 질문에 따라 발생하고 있는 문제는 SQL 쿼리에서 price 값을 갱신하는 부분에서 발생한 것으로 보입니다. 주어진 오류 메시지를 기반으로 몇 가지 고려해볼 수 있는 해결책을 제안드립니다.

문제 원인

  • 오류 메시지 중 “Truncated incorrect DECIMAL value”라는 부분이 있습니다. 이는 price 값에 대한 CAST(?) as INTEGER 과정에서 예상치 못한 값이 전달되었음을 의미합니다. 보통 데이터 타입이 잘못 매칭되거나 입력값이 올바르지 않을 때 발생할 수 있는 오류입니다.

해결 방안

  1. 입력 값 확인: price로 전달하는 값이 올바른지 확인해 주세요. 특히, 문자열에 숫자 이외의 문자가 포함되어 있는지 체크해야 합니다.

  2. SQL 쿼리 확인: xml 파일에서 사용하는 SQL 쿼리를 확인하시고, CAST(? as INTEGER) 대신 CAST(? as DECIMAL)을 사용하는 방법도 고려해보세요. price가 소수점을 포함한 값을 갖고 있을 경우 유용합니다.

  3. 데이터베이스 필드 타입 확인: 데이터베이스에서 price 필드의 데이터 타입이 DECIMAL인지 확인해 보세요. 그리고 그에 맞게 쿼리를 작성해 주세요.

유사한 질문 예시들

위의 제안을 통해 문제가 해결되지 않는다면, 추가적인 정보를 바탕으로 더 깊은 조사를 진행해 볼 수 있습니다. 저의 제안이 문제 해결에 도움이 되시길 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

mins199600님의 프로필 이미지
mins199600

작성한 질문수

질문하기