MYSQL 之 allowMultiQueries=true

解决批量更新SQL执行失败
本文介绍了一个关于数据库批量更新SQL语句无法执行的问题及解决方案。通过调整数据库配置参数allowMultiQueries=true,使得多条SQL语句能够在一个请求中成功执行。

今天遇到一个问题,以前数据库可以执行成功的一个 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.

转载于:https://my.oschina.net/freedemon/blog/1813816

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值