Error
Syntax error in SQL statement "drop table if exists [*]user CASCADE "; expected "identifier"; SQL statement:drop table if exists user CASCADE [42001-214]
luminous13
2022. 9. 20. 23:25
상황
User 엔티티 클래스를 작성하고 실행했더니 아래와 같은 에러가 나타났다.
문장을 읽어보니 user에 별표로 체크가 되있으면서 구문 오류라고 알려준다.
잘 모르겠으니 검색을 해보니 h2 데이터베이스에서 'user'라는 키워드가 예약어라서 사용할 수 없다고 한다.
그러면 예약어를 피하기 위해 USER 테이블 명을 바꿔야 하는데 엔티티 클래스명을 바꾸기 보다는 @Table(name="UERS")를 이용하여 테이블 명을 USERS로 바꿨다.
문제
USER라는 키워드는 이미 예약어라서 테이블명으로 사용할 수 없는게 문제다.
해결방안
@Table(name="USERS")를 이용해서 테이블 명을 USERS로 바꿔준다.
참고
org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "drop table if exists [*]user CASCADE "; expected "identi
I've below data.sql file in my src/main/resources/data.sql file. I would like user tabel to be created from user.csv file. DROP TABLE IF EXISTS `USER` CASCADE; CREATE TABLE `user` AS SELECT * FROM
stackoverflow.com