【发布时间】:2021-02-23 03:15:50
【问题描述】:
我正在开发 Spring Boot v2.3.5。
我的问题是我设置了我的变量 “hibernate.dialect” 到 MySQL5InnoDBDialect。
然后在创建表时返回MySQL语法错误。
Syntax error in SQL statement "CREATE TABLE A (ID BIGINT NOT NULL AUTO_INCREMENT, ACCESS_TOKEN VARCHAR(2000) NOT NULL, CREATE_DATE DATETIME NOT NULL, REFRESH_TOKEN VARCHAR(2000) NOT NULL, USER_NO VARCHAR(100) NOT NULL, PRIMARY KEY (ID)) ENGINE=[*]INNODB"; expected "identifier"; SQL statement
但实际上,当我复制该命令时,它可以工作。另外,当我将选项从 Innodb 更改为 H2 db 时,它可以工作。
对我的问题有什么想法吗?
【问题讨论】:
-
您是否还更新了其他连接属性,例如 url、用户名、密码...?
-
不,我只是使用默认数据库。 “spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect”我的测试代码在 H2 db 上运行,但是当我将 h2 db 更改为使用 Mysql 语法时,它不起作用
-
这样换驱动怎么样:spring.datasource.driver-class-name=com.mysql.jdbc.Driver
标签: spring spring-boot jpa innodb h2