0

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

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

2 回答 2

5

看起来您正在尝试为 ID 设置同一张表的 2 列。您可以更改查询,例如

"UPDATE thing SET status = ? ,error_message = ? WHERE id = ?"

此外,如果 2 个更新语句正在更新不同的表,您可以在同一个事务中执行这两个语句。这样,您可以确保如果两条语句都成功更新了表,则提交将发生。在此处查看示例

于 2013-07-19T06:09:53.253 回答
0

像这样做:

    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();
于 2013-07-19T06:31:53.170 回答