在Java中执行多重查询时发生错误

时间:2018-12-09 20:51:00

标签: java mysql jdbc

在过去的几天里,我一直无法弄清楚如何解决这个问题,在使用Java EE的同一条指令中,我遇到了多个查询的问题,

static public void transfer(String sender, String receiver, double amount) {
    try (Connection connection = DriverManager.getConnection(dbURL, dbLogin, dbPassword)) {


        String query = " insert into T_Transactions (sender, receiver, amount, date) values (?, ?, ?, ?) ; update T_Users set balance =? WHERE email = ?";


        Date d = new Date();

        PreparedStatement statement = connection.prepareStatement(query);
        statement.setString(1, sender);
        statement.setString(2, receiver);
        statement.setDouble(3, amount);
        statement.setString(4, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSS").format(d));
        statement.setDouble(5, amount);
        statement.setString(6, sender);

        try {
            statement.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

我在mysql中尝试了该查询,但工作正常,但是每次在代码中使用它时,我都会遇到以下错误

java.sql.SQLSyntaxErrorException: 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 'update T_Users

我在这里想念什么? 谢谢

1 个答案:

答案 0 :(得分:0)

我不确定为什么要一起尝试。 请分别使用插入和更新。否则进行程序。 我的理解是在Mysql和Java中执行多个查询是不同的