Есть таблица с primary key id. Запрос изменяет значение поля age для юзера с заданным id.
"UPDATE users SET age =? WHERE id =?"
Можно ли одним запросом проделать то же самое для нескольких, используя в качестве передаваемой переменной массив int[] id?
Update добавляю свой рабочий, но быть может не очень корректный вариант. Какие-нибудь советы?
private static String convertToString(int[] ids) {
StringBuilder stringBuilder = new StringBuilder();
for (int id : ids) {
stringBuilder.append(id).append(", ");
}
stringBuilder.delete(stringBuilder.length() - 2, stringBuilder.length());
return stringBuilder.toString();
}
String values = convertToString(new int[]{228, 230, 231});
PreparedStatement ps = connection.prepareStatement("UPDATE users SET age =? WHERE userId = ? AND id IN(" + values + ")");
Сборка персонального компьютера от Artline: умный выбор для современных пользователей