티스토리 뷰

- 처음에 application.yml을 작성할 때는 아래와 같이 작성했다.

- 지금은 빨간줄이 떠서 오류가 발생했다는걸 아는데 처음 작성할 때는 빨간줄도 나오지 않아서 문제가 없는줄 알았다.

- 위와 같이 application.yml을 작성한 후 서버를 실행해 유저를 추가하니 아래와 같은 오류 메세지가 콘솔창에 나왔다.

- 나와 같은 오류가 발생한 사람이 이미 질문을 올려놔서 정리해봤다.

https://www.inflearn.com/questions/773093

 

웹UI에서 실행하면 내부 서버 오류가 뜨네요 ㅠㅠ - 인프런 | 질문 & 답변

[사진] 어떻게 해결해야할까요..?ㅜSQL은 MySQL Command Line client 사용했습니다..! - 질문 & 답변 | 인프런

www.inflearn.com


org.h2.jdbc.JdbcSQLSyntaxErrorException
- 이것은 H2 DB와 관련된 에러이다. 즉, 현재 SQL이 MySQL로 나가는게 아니라 H2 DB에 나가고 있다는 것이다.
- 참고로 Spring에서는 DB가 설정되어 있지 않으면 H2 DB를 기본으로 설정하게 된다.
결론 : MySQL 연결 설정이 제대로 되지 않아 연결을 할 수 없는 것이다.

 

Syntax error in SQL statement "..."; expected 'identifier'
- 추가로 드는 의문점은 다음과 같다. 그러면 왜 H2 DB에는 이러한 오류가 발생했는가?
- USER TABLE이 없는 것도 있지만 무엇보다 USER라는 TABLE 이름 자체가 문제이다.
- Java에서 변수 이름을 if, while 등으로 설정할 수 없는 것 처럼 H2 DB에서 USER라는 단어 자체가 identifier(식별자)로서 의미를 갖는 예약어이기 때문이다.
- 정확히는 Spring Boot 2.7.x 버전에서 사용하는 H2 DB부터 USER를 identifier로 인지한다.


- 결론을 내리면 현재 MySQL DB가 아니라 H2 DB에 연결돼있는 것이므로 MySQL DB 연결 설정 다시 한 번 확인 필요

- 답변 내용을 계속 읽어보니 아니나 다를까 아래 사진처럼 띄어쓰기를 해야하는 것이었다.

빨간색 체크 부분은 반드시 띄어쓰기 해야한다.


cf) 아래의 설정도 다시 한 번 확인해보라고 답변에 있었다.

인프런 - 자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지!(최태현)
인프런 - 자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지!(최태현)

'Backend > Spring' 카테고리의 다른 글

#16 MySQL - UPDATE, DELETE 예외 처리  (0) 2023.08.20
#15 MySQL - UPDATE API, DELETE API  (0) 2023.08.19
#13 Spring - MySQL 연동  (0) 2023.08.16
#12 MySQL - CRUD with DML  (0) 2023.08.14
#11 MySQL - CREATE TABLE  (0) 2023.08.13
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함