MYSQL 之 allowMultiQueries=true

今天遇到一个问题,以前数据库可以执行成功的一个 sql 突然无法执行。sql 如下:

 <update id="batchUpdate"  parameterType="java.util.List">
    <foreach collection="devRelDOList" item="devRelDO" separator=";" open="" close="" >
        UPDATE
            dev_rel
        <set>
            gmt_modified=now(),
            pro_id = #{devRelDO.proId},
            dev_id = #{devRelDO.devId},
            group_id = #{devRelDO.groupId},
            own_type = #{devRelDO.ownType}
        </set>
        <where>
            id = #{devRelDO.id}
        </where>
    </foreach>
 </update>

 开始以为是 sql 的问题,后来排查发现数数据库配置的问题。为了一次向数据库提交执行多条 sql 就要加这个参数 allowMultiQueries=true.

上面的 update 语句会产生多条更新的 sql.

猜你喜欢

转载自my.oschina.net/freedemon/blog/1813816