2013-07-19 52 views
0

是否有方法将语句1和语句2合并为1个查询?谢谢。jdbc联合2 sql更新语句

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

回答

5

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

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

此外,如果2个更新语句更新不同的表,您可以在同一个事务中执行这两个。通过这种方式,您可以确保承诺将发生,如果这两个声明成功更新表。 Check the example here

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