Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jdbc合并了2条sql更新语句_Java_Mysql_Jdbc - Fatal编程技术网

Java jdbc合并了2条sql更新语句

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

有没有办法将语句1和语句2组合成一个查询?谢谢

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();