jdbc结合了2个sql更新语句

Moz*_*zbi 0 java mysql jdbc

有没有办法将语句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);
Run Code Online (Sandbox Code Playgroud)

san*_*hat 5

看起来您正在尝试为ID设置同一个表的2列.您可以更改查询

"UPDATE thing SET status = ? ,error_message = ? WHERE id = ?"
Run Code Online (Sandbox Code Playgroud)

此外,如果2个更新语句正在更新不同的表,则可以在同一事务中执行这两个表.通过这种方式,你可以肯定的是,承诺将采取地方,如果这两个语句成功更新表.在这里查看示例