Ubuntu联网图标消失

各种Json的基本转换(json和对象的互转)

  返回  

mysql中的批量更新

2021/8/20 11:22:26 浏览:

对于mysql中的批量更新,站在java程序员的角度而言,可以使用分条更新、或者用case  when 这样的方式。

我就是使用的case when这样的方式。但是被提了一个bug,大体意思是这样

update a set tag=
case tag
when 1 then 11
end
where bId=12

嗯,有问题。

问题在于,bId是个逻辑外键,所以根据bId会查询出很多数据,比如查询出tag可以是[1,2,3]这个集合,但是2,3并不在上面的when情况中。这时候数据库就会将tag字段修改为null,此时tag字段如果做了not null的限制,就会报错。就会被提bug,呜呜呜~

那么解决方案的话,就是在where条件中加上tag in(),这样就不会超出范围了。或者在case语句中添加 else tag,代表如果没在范围内就不修改。可以根据情况自行选择。

好,就这些。

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号