frengor / UltimateAdvancementAPI

A powerful API to create custom advancements for your Minecraft server.
https://modrinth.com/plugin/ultimateadvancementapi
GNU General Public License v3.0
110 stars 13 forks source link

You can't use MySQL to store data #88

Open 3328429240 opened 1 month ago

3328429240 commented 1 month ago
[16:11:13 INFO]: [UltimateAdvancementAPI] An exception occurred while enabling UltimateAdvancementAPI:
[16:11:13 WARN]: java.lang.RuntimeException: Exception setting up database.
[16:11:13 WARN]:        at [成就前置]UltimateAdvancementAPI.jar//com.fren_gor.ultimateAdvancementAPI.AdvancementMain.failEnable(AdvancementMain.java:246)
[16:11:13 WARN]:        at [成就前置]UltimateAdvancementAPI.jar//com.fren_gor.ultimateAdvancementAPI.AdvancementMain.enable(AdvancementMain.java:196)
[16:11:13 WARN]:        at [成就前置]UltimateAdvancementAPI.jar//com.fren_gor.ultimateAdvancementAPI.ConfigManager.enable(ConfigManager.java:95)
[16:11:13 WARN]:        at [成就前置]UltimateAdvancementAPI.jar//com.fren_gor.ultimateAdvancementAPI.AdvancementPlugin.onEnable(AdvancementPlugin.java:83)
[16:11:13 WARN]:        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:280)
[16:11:13 WARN]:        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:202)
[16:11:13 WARN]:        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:109)
[16:11:13 WARN]:        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:519)
[16:11:13 WARN]:        at org.bukkit.craftbukkit.CraftServer.enablePlugin(CraftServer.java:676)
[16:11:13 WARN]:        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:625)
[16:11:13 WARN]:        at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:343)
[16:11:13 WARN]:        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1194)
[16:11:13 WARN]:        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:300)
[16:11:13 WARN]:        at java.base/java.lang.Thread.run(Thread.java:1583)
[16:11:13 WARN]: Caused by: java.sql.BatchUpdateException: Specified key was too long; max key length is 1000 bytes
[16:11:13 WARN]:        at com.mysql.cj.jdbc.exceptions.SQLError.createBatchUpdateException(SQLError.java:214)
[16:11:13 WARN]:        at com.mysql.cj.jdbc.StatementImpl.executeBatchInternal(StatementImpl.java:968)
[16:11:13 WARN]:        at com.mysql.cj.jdbc.StatementImpl.executeBatch(StatementImpl.java:858)
[16:11:13 WARN]:        at com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:127)
[16:11:13 WARN]:        at com.zaxxer.hikari.pool.HikariProxyStatement.executeBatch(HikariProxyStatement.java)
[16:11:13 WARN]:        at [成就前置]UltimateAdvancementAPI.jar//com.fren_gor.ultimateAdvancementAPI.database.impl.MySQL.setUp(MySQL.java:140)
[16:11:13 WARN]:        at [成就前置]UltimateAdvancementAPI.jar//com.fren_gor.ultimateAdvancementAPI.database.DatabaseManager.commonSetUp(DatabaseManager.java:183)
[16:11:13 WARN]:        at [成就前置]UltimateAdvancementAPI.jar//com.fren_gor.ultimateAdvancementAPI.database.DatabaseManager.<init>(DatabaseManager.java:178)
[16:11:13 WARN]:        at [成就前置]UltimateAdvancementAPI.jar//com.fren_gor.ultimateAdvancementAPI.AdvancementMain.enable(AdvancementMain.java:194)
[16:11:13 WARN]:        ... 12 more
[16:11:13 WARN]: Caused by: java.sql.SQLSyntaxErrorException: Specified key was too long; max key length is 1000 bytes
[16:11:13 WARN]:        at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:112)
[16:11:13 WARN]:        at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:114)
[16:11:13 WARN]:        at com.mysql.cj.jdbc.StatementImpl.executeUpdateInternal(StatementImpl.java:1500)
[16:11:13 WARN]:        at com.mysql.cj.jdbc.StatementImpl.executeBatchInternal(StatementImpl.java:934)
[16:11:13 WARN]:        ... 19 more
frengor commented 1 month ago

Hello, can you provide a more detailed description of your issue, as well as instructions to reproduce it?

3328429240 commented 1 month ago

Hello, can you provide a more detailed description of your issue, as well as instructions to reproduce it?

I will prompt this when I use the plug-in and open MySQL, so there should be a problem in the process of creating the table. I have tried to use MySQL8 and MySQL5, and the prompt is the same. I hope I can fix it!

frengor commented 1 month ago

The max key length in MySQL8 should be over 3k bytes. Which MySQL engine are you using?