Java 您的SQL语法有错误,但查询在MySQL工作台中运行

Java 您的SQL语法有错误,但查询在MySQL工作台中运行,java,mysql,sql,intellij-idea,Java,Mysql,Sql,Intellij Idea,查询在IntelliJ中不起作用,但在SQL workbench中起作用。在其他查询中,updatePreparedStatement方法起作用。我已经检查了我的查询的语法错误,奇怪的是它确实在sql workbench中运行。谁能帮个忙吗 public void updatePreparedStatement(String queryWithParameters, Object ... values) { ArrayList<Map<String, Object>&g

查询在IntelliJ中不起作用,但在SQL workbench中起作用。在其他查询中,updatePreparedStatement方法起作用。我已经检查了我的查询的语法错误,奇怪的是它确实在sql workbench中运行。谁能帮个忙吗

public void updatePreparedStatement(String queryWithParameters, Object ... values) {
    ArrayList<Map<String, Object>> result = new ArrayList<>();
    try(PreparedStatement ps = this.connection.prepareStatement(queryWithParameters)) {
        for(int i=0; i<values.length; i++) {
            ps.setObject(i+1, values[i]);
        }
        int rs = ps.executeUpdate();
    }catch (SQLException e){
        e.printStackTrace();
    }
}



    public void assignOrdersToDeliveryRoute(BigInteger routeNumber, int[] orderNumbers){
    DbConnection connection = new DbConnection();
    System.out.println(Arrays.toString(orderNumbers));
    StringBuilder orderNumberString = new StringBuilder();
    int index =1;
    for (int orderNumber : orderNumbers) {
        String order = String.valueOf(orderNumber);
        if (index < orderNumbers.length ){
            orderNumberString.append(order).append(",");
        }
        else {
            orderNumberString.append(order);
        }
        index++;
    }
    System.out.println(orderNumberString);
    String query = "SET FOREIGN_KEY_CHECKS=0; UPDATE bestelling SET bezorgroutenummer = ? WHERE bestelnummer IN (" + orderNumberString + ")";
    System.out.println(query);
    connection.updatePreparedStatement(query, routeNumber);
}
public void updatePreparedStatement(带参数、对象…值的字符串查询){
ArrayList结果=新建ArrayList();
try(PreparedStatement ps=this.connection.prepareStatement(queryWithParameters)){
对于(int i=0;i表示:

预处理语句的SQL语法不支持多个语句(即,单个字符串中的多个语句由;个字符分隔)

一次运行一个语句。

您所说的“在IntelliJ中不工作”是什么意思?具体错误是什么?