[에러] java.sql.SQLSyntaxErrorException: Table 'test_schema.POST' doesn't exist

Nam_JU·2022년 2월 27일
0

ErrorLog

목록 보기
1/26
post-thumbnail

에러 메세지

### Error updating database.  Cause: java.sql.SQLSyntaxErrorException: Table 'test_schema.POST' doesn't exist
### The error may exist in file [/Users/developer/devTool/IntelliJ/ProjectLion/Week5/mybatis/build/resources/main/mybatis/mappers/post-mapper.xml]
### The error may involve dev.aquashdw.mybatis.mapper.PostMapper.createPost-Inline
### The error occurred while setting parameters
### SQL: insert into POST(title, content, writer, board)         values (?, ?, ?, 1)
### Cause: java.sql.SQLSyntaxErrorException: Table 'test_schema.POST' doesn't exist

에러 발생 배경

mysql 워크벤치로 test_schema를 생성후, 스프링부트로 database를 연결하다 오류가 났다. jdbc not connection에러면 DB연결이 제대로 되지 않았다는 소리인데 test_schema가 존재하지 않는단다

워크벤치로 확인을 했을때 test_schema 스키마도 정상적으로 생성되었으며 yml에도 제대로 스키마 명을 작성하였다.

이당시 나는 SQLSyntaxErrorException에 집중을해서 어딘가 구문오류가 있나보다는 생각에 2,3시간 내내 코드만 뒤졌다. 근데 없어. 암만봐도 쿼리 오류가 아니야. 대체 어디가 문제지 홀로 빡쳐있던 와중에 다른분들께서 도움을 주셨다.


결론은 syntaxError가 뜨고 Table doesn't exist가 나왔을때 구문오류가 없다면 테이블 명이 대소문자로 쿼리내용과 다른지 확인해야한다.

MySQL 8.0 버전부터는 DB 파라미터의 lower_case_table_names 속성의 기본값이 0으로 지정된다. mysql 권한 설정에서 lower_case_table_names속성값을 바꾸거나 대소문자를 제대로 맞춰주자


profile
개발기록

0개의 댓글