2013-07-19 2 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

Похоже, вы пытаетесь установить 2 столбца одной таблицы для ID. Вы можете изменить запрос, как

"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(); 
Смежные вопросы