在spring启动时将h2更改为mysql db获取错误

在spring启动时将h2更改为mysql db获取错误,spring,spring-boot,jpa,innodb,h2,Spring,Spring Boot,Jpa,Innodb,H2,我正在研究SpringBootV2.3.5 我的问题是我设置了变量 “hibernate.dialogue”到mysql5innodbdialogue 然后返回错误,即创建表时出现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 N

我正在研究SpringBootV2.3.5

我的问题是我设置了变量 “hibernate.dialogue”到mysql5innodbdialogue

然后返回错误,即创建表时出现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时,它可以工作


对我的问题有什么想法吗?

如果要在不同的数据库之间切换数据源,则必须正确更新配置。根据您提供的可用信息,我认为您需要更新如下:

spring.jpa.properties.hibernate.dialect = MySQL5InnoDBDialect
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost/yourDbName
spring.datasource.username = dbUsername
spring.datasource.password = dbPassword

请根据您的环境更新url、用户名和密码

您是否也更新了其他连接属性,如url、用户名、密码…?不,我只是使用默认数据库。“spring.jpa.properties.hibernate.dialogue=org.hibernate.dialogue.mysql5innodbdialogue”我的测试代码使用的是H2 db,但当我将H2 db改为使用Mysql语法时,它不起作用,如何像这样更改驱动器:spring.datasource.driver class name=com.Mysql.jdbc.driver