2021-05-31 生产事故复盘

  下午客户反馈数据对不上,去线上数据库发现所有砖表状态都在下午两点半被改为异常状态,推测是执行批量修改没有传where参数,还有周六有备份把数据恢复了一下,下面是问题代码

<update id="batchUpdate">
update production_plan_brick
<include refid="Base_Set"/>
<foreach collection="list" item="param" open=“where” separator=" or " close="">
(plan_no = #{param.planNo,jdbcType=VARCHAR} and serial_num = #{param.serialNum,jdbcType=VARCHAR} and
status = #{param.status,jdbcType=INTEGER})
</foreach>
</update>

open=“where”应抽到前面,避免如果集合没有数据导致where条件后没数据批量更新全部

调用别人的模块代码时,审查一下代码逻辑,避免问题,同时判断自己的业务代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容