У меня есть query = "select * from user_message where username = '[email protected]';"
. Существует столбец «is_read» (когда сообщение отправлено пользователю, is_read по умолчанию ложно, это означает, что пользователь еще не прочитал сообщение), после первого выбора мне нужно изменить этот столбец на true UPDATE user_message SET is_read=true where username = '[email protected]';
Это означает, что пользователь прочитал сообщение. так что вопрос в том, могу ли я сделать один запрос и выполнить его через пакет или мне нужно сделать два разных запроса? Какой путь лучше?готовый пакет для вставки и обновления?
ответ
Вы пишете один метод с двумя параметрами username и is_read. Вы можете вызвать этот метод в любое время, когда вам нужно.
Я думаю, что ваше заявление обновления неверно, так как он не проходит идентификатор сообщения
Я предполагаю, что это что-то вроде:
UPDATE user_message
SET is_read=true
where username = '[email protected]'
and user_message_id = 123
Если вы хотите установить несколько сообщений read
вы можете сделать это через:
UPDATE user_message
SET is_read=true
where username = '[email protected]'
and user_message_id in (123, 234, 456)
Это чувствует себя как дефект дизайна для меня. Почему в таблице user_message есть письмо? Что произойдет, если пользователь изменит свой адрес электронной почты? Вы действительно должны отделять электронную почту от пользователя, предоставляя каждому пользователю уникальный (целочисленный) идентификатор, который вы используете в качестве внешнего ключа.
Исходя из предположения у вас есть Collection
параметров сказать emails
, я хотел бы предложить следующее:
String sql = "Your statement";
PreparedStatement stmt = conection.prepare(sql);
for(String email : emails){
stmt.setString(1, email);
stmt.executeUpdate();
stmt.clearParameters();
}
Это я думаю, что поможет.
- 1. Запретить MacPorts устанавливать готовый пакет?
- 2. Готовый пакет для обучения с полууправлением
- 3. SQL, обновления и вставки
- 4. CommandBuilder и SqlTransaction для вставки/обновления строки
- 5. Неисправность связывания переменной для обновления и вставки
- 6. Entity SaveChanges() для вставки и обновления?
- 7. Понимание JdbcTemplate для вставки и обновления заявления
- 8. Как запустить триггер для вставки и обновления?
- 9. Одна процедура для вставки и обновления запроса
- 10. SQL Trigger для вставки и обновления
- 11. заявление о слиянии для обновления и вставки
- 12. MySQL Fire Trigger для вставки и обновления
- 13. Использование ContentProviderOperation для обновления и вставки контактов
- 14. mysql готовый оператор установить значение по умолчанию для вставки
- 15. Phonegap + Facebook plugin: Готовый пакет Xcodeproj для iOs
- 16. Специальный пакет обновления для автоматического обновления NuGet
- 17. Параллельные вставки и обновления postgres
- 18. Триггер для вставки, обновления, удаления
- 19. Пакет обновления для журнала Debian
- 20. Триггеры вставки и обновления MySQL
- 21. использование атрибутов вставки и обновления
- 22. Оптимизировать вставки и обновления запроса
- 23. Trigger для обновления содержимого вставки
- 24. L2E для вставки, обновления, удаления
- 25. пакет обновления для JMeter Gui
- 26. Асинхронные вставки и обновления Асинхронные вставки и обновления: NoSql и SQL
- 27. Асинхронный и готовый документ
- 28. Zend Framework готовый готовый оператор
- 29. Синтаксис для вставки и обновления с помощью SqlCe и EntityFramework
- 30. SimpleJdbcTemplate как для вставки, так и для обновления
Вы можете перебирать значения, которые вы хотите обновить, используя один подготовленный элемент, каждый раз задавая параметры. – Blip