프로젝트를 위해 JPA와 MYSQL을 연동해서 테이블을 만들고 있었다.
유저 엔티티의 이름을 Member로 했는데, 계속해서 테이블이 만들어지지 않았다.. 이전엔 이상이 없었고, 필드 이름중 예약어(update, like같은..)가 존재하나 확인했는데도 없었다.
2023-12-18T19:53:38.412+09:00 WARN 13392 --- [ main] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL "
create table member (
id bigint not null,
nickname varchar(255),
password varchar(255),
registered_at date,
user_id varchar(255),
primary key (id)
) engine=InnoDB" via JDBC [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 'member (
id bigint not null,
nickname varchar(255),
p' at line 1]
도저히 이유를 모르겠어서 여기저기 찾아봤다.
짜잔~ member는 8.0.17에서 예약어였다가 8.0.19에서 사라졌습니다~
기가 막히게도, 전공 과목에서 반강제한 MySql 버전이 8.0.18이였다.
삭제 한 뒤
https://dev.mysql.com/downloads/installer/
해당 링크에서 최신 버전을 설치해서 해결하자.