我有query = "select * from user_message where username = '[email protected]';"
。有一列'is_read'(当消息发送给用户,is_read默认为false,这意味着用户还没有阅读消息),第一次选择后,我必须将该列更改为真UPDATE user_message SET is_read=true where username = '[email protected]';
这意味着用户已阅读消息。所以问题是我可以做一个查询,并通过批处理执行它,或者我应该做两个不同的查询?哪种方法更好?preparedstatement批次插入和更新?
0
A
回答
0
您正在编写一个带有两个参数username和is_read的方法。你可以在需要时随时调用这个方法。
0
我觉得你的更新语句不正确,因为它没有通过的消息ID
我猜它是这样的:
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表有电子邮件?如果用户更改电子邮件会发生什么情况?你应该通过给每个用户一个唯一的(整数)ID作为外键来解耦来自用户的电子邮件。
0
基于这样的假设在你的参数Collection
说emails
,我建议如下:
String sql = "Your statement";
PreparedStatement stmt = conection.prepare(sql);
for(String email : emails){
stmt.setString(1, email);
stmt.executeUpdate();
stmt.clearParameters();
}
这个我想会帮助你。
相关问题
- 1. Java PreparedStatement多个批量插入外键
- 2. JDBC批次的PreparedStatement在MySQL
- 3. 批量插入和更新MySQL
- 4. 休眠批量插入,批量更新
- 5. JPA批量更新似乎是插入每批更新
- 6. 使用灯泡和rexster批量/批量更新/插入?
- 7. JDBC PreparedStatement,批量更新和生成的密钥
- 8. 更新批次codeigniter
- 9. Ado更新批次
- 10. SqlAlchemy中的有效批次“更新或插入”
- 11. 针对SQL Server的最佳插入/更新批次
- 12. 插入和更新
- 13. 插入和更新
- 14. 按批次插入数据?
- 15. 批量插入或更新与休眠?
- 16. SQL Server 2005批量更新或插入
- 17. 在Sql Azure上批量插入更新
- 18. 在MongoDB中批量更新/插入?
- 19. Hibernate批量插入/更新constraintviolationexception
- 20. Visual Studio C#Linq批量插入/更新
- 21. 进行批量插入/更新用
- 22. 用EF6批量插入/更新?
- 23. 批量插入与重复键更新
- 24. 在一批中插入并更新
- 25. 批量插入/更新PDO MySQL查询
- 26. MyBatis批量插入/更新Oracle
- 27. Slick 3.0批量插入或更新(upsert)
- 28. 如何批量更新/插入mongoid/mongodb?
- 29. NHibernate批量插入或更新
- 30. 使用PreparedStatement插入数据的JdbcTemplate更新的异常
通过每次只设置参数,您可以循环使用单个preparedStatement更新的值。 – Blip