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

cloverj0님의 프로필 이미지
cloverj0

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

13강. Spring에서 Database 사용하기

SQLSyntaxErrorException 에러가 나옵니다.ㅠㅠ

작성

·

2K

1

서버 실행 후 이름, 나이 작성하고 등록을 하려는데 '서버내부 오류가 생겼다' 라는 팝업창이 뜨면서 아래와 같은 오류가 나옵니다.ㅠㅠ

혹시 인코딩 문제일까요..?

 

java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSET INTO user (name, age) VALUES ('���ڵ�', 25)' at line 1

 

답변 1

0

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요!!! cloverj0님!!

에러가 발생했군요!! 😭 보통 에러가 발생하면, 보내주신 stack-trace가 찍히면서 가장 근본적인 원인은 하단부에 나오는데요!! (물론 예외 상황에 따라서 근본적인 에러 로그가 나오지 않을 수도 있긴해요~) 현재 로그로 추측해볼 수 있는 에러는 다음과 같습니다!!

  • 인코딩 문제

    • 해결 방법 : DB 테이블의 인코딩을 변경해보자!!

      • alter table 테이블이름 convert to character set utf8;

  • DB에 있는 테이블 이름, 칼럼 이름과 사용된 INSERT SQL이 일치하는지 확인해보기

    • name과 age가 맞게 있는지 user 라는 테이블이 있는지 확인하기

  • name에는 문자열이 들어가고, age에는 숫자가 들어갔는지 확인해보기

    • INSERT INTO table_name (name, age) VALUES ('문자열', 숫자)

    • 문자열은 ' '로 감싸져야 하고, 숫자는 ' '가 있으면 안됩니다!

 

혹시나 위의 방법들로 해결되지 않으시면, 에러에서 나오는 다른 로그를 알려주셔도 좋습니다!!

꼭 해결되셨으면 좋겠습니다. 감사합니다!! 🙇🙇

cloverj0님의 프로필 이미지
cloverj0
질문자

다시 보니 insert 문에서 단어 하나가 빠져 있더라고요ㅎㅎ;;

알려주셔서 감사합니다 :)

cloverj0님의 프로필 이미지
cloverj0

작성한 질문수

질문하기