本帖最后由 Tollainmear 于 2020-5-11 22:07 编辑 
请问这个语法问题该如何解决?删除数据库数据吗.
java.sql.BatchUpdateException: 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 'WHERE NOT EXISTS (SELECT player_uuid FROM CMIusers WHERE player_uuid = 'ea7997b3' at line 1
[14:16:39 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[14:16:39 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
[14:16:39 WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
[14:16:39 WARN]: at java.lang.reflect.Constructor.newInstance(Unknown Source)
[14:16:39 WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
[14:16:39 WARN]: at com.mysql.jdbc.Util.getInstance(Util.java:408)
[14:16:39 WARN]: at com.mysql.jdbc.SQLError.createBatchUpdateException(SQLError.java:1163)
[14:16:39 WARN]: at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1778)
[14:16:39 WARN]: at com.mysql.jdbc.PreparedStatement.executeBatchInternal(PreparedStatement.java:1262)
[14:16:39 WARN]: at com.mysql.jdbc.StatementImpl.executeBatch(StatementImpl.java:970)
[14:16:39 WARN]: at com.Zrips.CMI.Modules.DataBase.DBDAO.executeTempBatch(DBDAO.java:830)
[14:16:39 WARN]: at com.Zrips.CMI.Modules.DataBase.DBManager.saveBatch(DBManager.java:419)
[14:16:39 WARN]: at com.Zrips.CMI.Modules.DataBase.DBManager$1$1.run(DBManager.java:281)
[14:16:39 WARN]: at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:76)
[14:16:39 WARN]: at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52)
[14:16:39 WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[14:16:39 WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[14:16:39 WARN]: at java.lang.Thread.run(Unknown Source)
[14:16:39 WARN]: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 'WHERE NOT EXISTS (SELECT player_uuid FROM CMIusers WHERE player_uuid = 'ea7997b3' at line 1
[14:16:39 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[14:16:39 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
[14:16:39 WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
[14:16:39 WARN]: at java.lang.reflect.Constructor.newInstance(Unknown Source)
[14:16:39 WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
[14:16:39 WARN]: at com.mysql.jdbc.Util.getInstance(Util.java:408)
[14:16:39 WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)
[14:16:39 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
[14:16:39 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
[14:16:39 WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
[14:16:39 WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
[14:16:39 WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)
[14:16:39 WARN]: at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
[14:16:39 WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079)
[14:16:39 WARN]: at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1756)
[14:16:39 WARN]: ... 10 more
已经自行解决更换MYsql版本即可.
请问这个语法问题该如何解决?删除数据库数据吗.
java.sql.BatchUpdateException: 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 'WHERE NOT EXISTS (SELECT player_uuid FROM CMIusers WHERE player_uuid = 'ea7997b3' at line 1
[14:16:39 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[14:16:39 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
[14:16:39 WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
[14:16:39 WARN]: at java.lang.reflect.Constructor.newInstance(Unknown Source)
[14:16:39 WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
[14:16:39 WARN]: at com.mysql.jdbc.Util.getInstance(Util.java:408)
[14:16:39 WARN]: at com.mysql.jdbc.SQLError.createBatchUpdateException(SQLError.java:1163)
[14:16:39 WARN]: at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1778)
[14:16:39 WARN]: at com.mysql.jdbc.PreparedStatement.executeBatchInternal(PreparedStatement.java:1262)
[14:16:39 WARN]: at com.mysql.jdbc.StatementImpl.executeBatch(StatementImpl.java:970)
[14:16:39 WARN]: at com.Zrips.CMI.Modules.DataBase.DBDAO.executeTempBatch(DBDAO.java:830)
[14:16:39 WARN]: at com.Zrips.CMI.Modules.DataBase.DBManager.saveBatch(DBManager.java:419)
[14:16:39 WARN]: at com.Zrips.CMI.Modules.DataBase.DBManager$1$1.run(DBManager.java:281)
[14:16:39 WARN]: at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:76)
[14:16:39 WARN]: at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52)
[14:16:39 WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[14:16:39 WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[14:16:39 WARN]: at java.lang.Thread.run(Unknown Source)
[14:16:39 WARN]: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 'WHERE NOT EXISTS (SELECT player_uuid FROM CMIusers WHERE player_uuid = 'ea7997b3' at line 1
[14:16:39 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[14:16:39 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
[14:16:39 WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
[14:16:39 WARN]: at java.lang.reflect.Constructor.newInstance(Unknown Source)
[14:16:39 WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
[14:16:39 WARN]: at com.mysql.jdbc.Util.getInstance(Util.java:408)
[14:16:39 WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)
[14:16:39 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
[14:16:39 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
[14:16:39 WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
[14:16:39 WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
[14:16:39 WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)
[14:16:39 WARN]: at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
[14:16:39 WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079)
[14:16:39 WARN]: at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1756)
[14:16:39 WARN]: ... 10 more
已经自行解决更换MYsql版本即可.
楼主你的cmi数据库同步出错了
如果不相同数据库同步的话请切换CMI的数据储存方式
如果需要使用数据库的话,请检查database的user password等等有没有出错
如果不相同数据库同步的话请切换CMI的数据储存方式
如果需要使用数据库的话,请检查database的user password等等有没有出错
YinHuan 发表于 2020-5-4 14:33
楼主你的cmi数据库同步出错了
如果不相同数据库同步的话请切换CMI的数据储存方式
如果需要使用数据库的话, ...
都没问题我换过一次数据库版本.
算了我重新删了试试