MySQL查询在PhpMyAdmin中工作,但在JavaEclipse中不工作

MySQL查询在PhpMyAdmin中工作,但在JavaEclipse中不工作,java,mysql,eclipse,phpmyadmin,Java,Mysql,Eclipse,Phpmyadmin,我是Java编程的完全新手,但我正在努力学习。我已经进行了广泛的搜索,但我无法找到答案,尽管许多初学者都有同样的问题 我有一个Java MySQL的问题,我不能不去想它 如果我在phpMyAdmin中执行此查询: SET count = 0; UPDATE tablename SET table_id = count:= count + 1; ALTER TABLE tablename AUTO_INCREMENT = 1; 它按照我的要求工作,重置ID(在我删除一行之后),这可能不是最优

我是Java编程的完全新手,但我正在努力学习。我已经进行了广泛的搜索,但我无法找到答案,尽管许多初学者都有同样的问题

我有一个Java MySQL的问题,我不能不去想它

如果我在phpMyAdmin中执行此查询:

SET count = 0; UPDATE tablename SET table_id = count:= count + 1;  
ALTER TABLE tablename AUTO_INCREMENT = 1;
它按照我的要求工作,重置ID(在我删除一行之后),这可能不是最优雅的解决方案,但它完成了任务

但当我从eclipse执行相同的查询时,我的控制台就会像圣诞树一样亮起,我得到一个:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您有一个 SQL语法错误;检查与您的产品相对应的手册 MySQL服务器版本,以便在“更新”附近使用正确的语法 tablename集合table_id=@count:=@count+1;更改表表名 1号线的AU'

错误。。。检查我的语法。它在phpMyAdmin中工作。 我的Eclipse Java方法:

public void resetDBID(){
    try{
        // query to reset menu_id manly after delete row
        Statement statement = con.connection.createStatement();
        String sset;
        sset =  "SET @count = 0; "
                + "UPDATE afhaalmenus SET menu_id = @count:= @count + 1; "
                + "ALTER TABLE afhaalmenus AUTO_INCREMENT = 1;";

        statement.execute(sset);

    } catch(SQLException ex){
        String message = "rest ID fail";
        JOptionPane.showMessageDialog(null, message, "method fail", JOptionPane.INFORMATION_MESSAGE);
        ex.printStackTrace();
    }
}
我在这里错过了什么?或者做错事。。。 提前感谢您的帮助

您可以使用addBatch

String s1 = "SET @count = 0";
String s2 = ...

try {
// query to reset menu_id manly after delete row
     connection = database.getConnection();
     Statement statement = connection.createStatement();
     statement.addBatch(s1);
     statement.addBatch(s2);    
     statement.addBatch(s2);   
     s.executeBatch();
     connection.commit();
} catch (SQLException e) {
    connection.rollback();
    throw e;
} finally {
    close(statement);
    close(connection);
}

将单个语句添加到批处理中;然后执行批处理和提交eah!!!!我用谷歌搜索了你的意思,结果成功了!非常感谢!!!!不了解Java(多年没有接触过它),但这里使用的createStatement/execute是否支持在一次执行中使用多个SQL语句?如果有效,请添加解决方案作为答案。