mybatis多线程批量插入MySQL报主键冲突
<insertid="batchInsert"parameterType="java.util.List">insertintoSMS_DOWN_HISTORY(temp...
<insert id="batchInsert" parameterType="java.util.List">
insert into SMS_DOWN_HISTORY(templateCode,activityCode,activityId,sendRoundId,arrangeDate,expireDate,messageId,mobile,requestId,senderId,depName,depId,flag,level,smsTemplateVar,systemName,mtime,ctime)
values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.templateCode},#{item.activityCode},#{item.activityId},#{item.sendRoundId},#{item.arrangeDate},#{item.expireDate},#{item.messageId},#{item.mobile},#{item.requestId},#{item.senderId},#{item.depName},#{item.depId},#{item.flag},#{item.level},#{item.smsTemplateVar},#{item.systemName},#{item.mtime},#{item.ctime})
</foreach>
</insert>
以上是我的SQL语句,在多线程的请求下就会报主键冲突异常,并且并发量越大主键冲突异常就越频繁。 展开
insert into SMS_DOWN_HISTORY(templateCode,activityCode,activityId,sendRoundId,arrangeDate,expireDate,messageId,mobile,requestId,senderId,depName,depId,flag,level,smsTemplateVar,systemName,mtime,ctime)
values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.templateCode},#{item.activityCode},#{item.activityId},#{item.sendRoundId},#{item.arrangeDate},#{item.expireDate},#{item.messageId},#{item.mobile},#{item.requestId},#{item.senderId},#{item.depName},#{item.depId},#{item.flag},#{item.level},#{item.smsTemplateVar},#{item.systemName},#{item.mtime},#{item.ctime})
</foreach>
</insert>
以上是我的SQL语句,在多线程的请求下就会报主键冲突异常,并且并发量越大主键冲突异常就越频繁。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询