java.sql.SQLSyntaxErrorException:指定的密钥太长;最大密钥长度为1000字节MySql / Docker / SpringBoot

时间:2019-02-14 16:10:10

标签: java mysql spring-boot

在docker中初始化MySQL时出现以下错误

Caused by: java.sql.SQLSyntaxErrorException: Specified key was too long; max key length is 1000 bytes
spring-boot-jpa-docker-webapp_1  |  at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-java-8.0.15.jar!/:8.0.15]
spring-boot-jpa-docker-webapp_1  |  at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.15.jar!/:8.0.15]
spring-boot-jpa-docker-webapp_1  |  at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.15.jar!/:8.0.15]
spring-boot-jpa-docker-webapp_1  |  at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:782) ~[mysql-connector-java-8.0.15.jar!/:8.0.15]
spring-boot-jpa-docker-webapp_1  |  at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:666) ~[mysql-connector-java-8.0.15.jar!/:8.0.15]
spring-boot-jpa-docker-webapp_1  |  at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:95) ~[HikariCP-3.2.0.jar!/:na]
spring-boot-jpa-docker-webapp_1  |  at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java) ~[HikariCP-3.2.0.jar!/:na]
spring-boot-jpa-docker-webapp_1  |  at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:54) ~[hibernate-core-5.3.7.Final.jar!/:5.3.7.Final]
spring-boot-jpa-docker-webapp_1  |  ... 40 common frames omitted

它实际上无法创建表

spring-boot-jpa-docker-webapp_1  | 2019-02-14 16:05:20.852  WARN 1 --- [           main] o.h.t.s.i.ExceptionHandlerLoggedImpl     : GenerationTarget encountered exception accepting command : Error executing DDL "create table reading (vin varchar(255) not null, check_engine_light_on bit not null, cruise_control_on bit not null, engine_coolant_low bit not null, engine_hp integer not null, engine_rpm integer not null, fuel_volume double precision not null, latitude double precision not null, longitude double precision not null, speed integer not null, timestamp datetime, front_left integer not null, front_right integer not null, rear_left integer not null, rear_right integer not null, primary key (vin)) engine=MyISAM" via JDBC Statement

还有,MySQL,MariaDB的替代品吗?我都面临着错误。

可用的解决方案适用于普通MySQL,而不适用于docker-compose版本。

0 个答案:

没有答案