작성
·
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 ('문자열', 숫자)
문자열은 ' '로 감싸져야 하고, 숫자는 ' '가 있으면 안됩니다!
혹시나 위의 방법들로 해결되지 않으시면, 에러에서 나오는 다른 로그를 알려주셔도 좋습니다!!
꼭 해결되셨으면 좋겠습니다. 감사합니다!! 🙇🙇
다시 보니 insert 문에서 단어 하나가 빠져 있더라고요ㅎㅎ;;
알려주셔서 감사합니다 :)