问题描述:
单个更新不会报错,批量更新就会报错, sql语句如下:
<update id="batchUpdateAmountBySbbIdAndHc">
<if test="updateAmounts != null and updateAmounts.size > 0">
<foreach collection="updateAmounts" item="item" separator=";" close=";">
UPDATE test
<trim prefix="set" suffixOverrides=",">
<if test="item.je!= null">
je= #{item.je},
</if>
</trim>
<where> id = #{id} </where>
</foreach>
</if>
</update>
排查问题:
1.将日志中的sql拷贝出来单独执行,没有问题
2.比较单条和多条更新sql的区别,就是一条和多条的区别嘛
结果:
mysql的批量更新是要我们主动去设置的, 就是在数据库的连接url上设置一下,加上&allowMultiQueries=true,问题解决了!