Java JDBC错误,但在MySQL工作台中运行查询时没有错误

Java JDBC错误,但在MySQL工作台中运行查询时没有错误,java,mysql,jdbc,Java,Mysql,Jdbc,我在MySQL数据库上运行查询,我使用JDBC,我使用MySQL工作台来运行查询 当我在MySQL Workbench中运行它时,我得到了我所期望的,但当我在代码中运行它时,我得到了 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在第1行的“SELECT Character.CharacterID,Character.CharacterName,characte

我在MySQL数据库上运行查询,我使用JDBC,我使用MySQL工作台来运行查询

当我在MySQL Workbench中运行它时,我得到了我所期望的,但当我在代码中运行它时,我得到了

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在第1行的“SELECT Character.CharacterID,Character.CharacterName,characterte”附近使用的正确语法

以下是Java:

for (int i = 0; i < 3; i++) {
    try {
        result = s.executeQuery("USE `arbitrary-hero`; SELECT `Character`.CharacterID, `Character`.CharacterName, `Character`.CharacterLevel, SUM(ItemAttack), SUM(ItemHealth), SUM(ItemAgility), "
                + "SUM(ItemStrength), SUM(ItemSource) FROM `arbitrary-hero`.`Character` INNER JOIN `arbitrary-hero`.Character_Items ON `Character`.CharacterID = Character_Items.CharacterID INNER JOIN "
                + "Items ON Character_Items.ItemID = Items.ItemID WHERE Character_Items.Equiped = 1 and `Character`.CharacterName = "+ name[i] +" GROUP BY `Character`.CharacterName;;");
       }
       catch(Exception e) {
           System.out.println(e);
       }
    }
    s.close();

不确定,但我认为您不能同时使用两个SQL命令,因此分号后的所有内容都是错误的。

不确定,但我认为您不能同时使用两个SQL命令,因此分号后的所有内容都是错误的。

Dor说得对。请为每个
executeQuery
方法调用提供一条SQL语句。顺便说一下,您可能应该通过连接字符串选择mySQL数据库(您的
USE
语句中提到的数据库)。谢谢,只有一条SQL语句解决了这个问题。Dor做得对。请为每个
executeQuery
方法调用提供一条SQL语句。顺便说一下,您可能应该通过连接字符串选择mySQL数据库(您的
USE
语句中提到的数据库)。谢谢,只有一条SQL语句解决了这个问题。
SELECT `Character`.CharacterID, `Character`.CharacterName, `Character`.CharacterLevel, SUM(ItemAttack), SUM(ItemHealth), SUM(ItemAgility), SUM(ItemStrength), 
SUM(ItemSource) FROM `arbitrary-hero`.`Character` INNER JOIN `arbitrary-hero`.Character_Items ON
`Character`.CharacterID = Character_Items.CharacterID INNER JOIN Items ON 
Character_Items.ItemID= Items.ItemID WHERE Character_Items.Equiped = 1 and `Character`.CharacterName = "Maxinfet" GROUP BY `Character`.CharacterName;