Java jdbc合并了2条sql更新语句
有没有办法将语句1和语句2组合成一个查询?谢谢Java jdbc合并了2条sql更新语句,java,mysql,jdbc,Java,Mysql,Jdbc,有没有办法将语句1和语句2组合成一个查询?谢谢 String statement1 = "UPDATE thing SET status = ? WHERE id = ?"; String statement2 = "UPDATE thing SET error_message = ? WHERE id = ?"; PreparedStatement preparedStatement = connection.prepareStatement(statement1); preparedSta
String statement1 = "UPDATE thing SET status = ? WHERE id = ?";
String statement2 = "UPDATE thing SET error_message = ? WHERE id = ?";
PreparedStatement preparedStatement = connection.prepareStatement(statement1);
preparedStatement.setInt(1,status);
preparedStatement.setInt(2, id);
connection.prepareStatement(statement2);
preparedStatement.setInt(1,error_message);
preparedStatement.setInt(2, id);
看起来您正在尝试为ID设置同一表的两列。您可以按以下方式更改查询:
"UPDATE thing SET status = ? ,error_message = ? WHERE id = ?"
此外,如果这两条update语句正在更新不同的表,则可以在同一事务中执行这两条语句。通过这种方式,您可以确保,如果这两条语句都成功地更新了表,那么提交将发生 看起来您正试图为一个ID设置同一表的两列。您可以按如下方式更改查询:
"UPDATE thing SET status = ? ,error_message = ? WHERE id = ?"
此外,如果这两条update语句正在更新不同的表,则可以在同一事务中执行这两条语句。通过这种方式,您可以确保,如果这两条语句都成功地更新了表,那么提交将发生 这样做:
String statement1 = "UPDATE thing SET status = ? ,error_message = ? WHERE id = ?";
PreparedStatement preparedStatement = connection.prepareStatement(statement1);
preparedStatement.setInt(1,status);
preparedStatement.setInt(2,error_message);
preparedStatement.setInt(3, id);
preparedStatement.executeUpdate();
这样做:
String statement1 = "UPDATE thing SET status = ? ,error_message = ? WHERE id = ?";
PreparedStatement preparedStatement = connection.prepareStatement(statement1);
preparedStatement.setInt(1,status);
preparedStatement.setInt(2,error_message);
preparedStatement.setInt(3, id);
preparedStatement.executeUpdate();