mysql批量插入与Oracle批量插入的区别

一直使用的是Oracle数据库,现在换成mysql数据库,数据库不同批量插入的语法也不同

mysql批量插入的语法:

<insert id="addBatch" parameterType="java.util.List" useGeneratedKeys="false">
		INSERT INTO t_game_error_sort(
		user_id,
		record_id,
		garbage,
		garbage_img,
		error_sort,
		correct_sort,
		enable_,
		remark_,
		create_by,
		create_time,
		update_by,
		update_time
		)
		VALUES
		<foreach collection ="list" item="item" separator =",">
			(#{item.userId},
			#{item.recordId},
			#{item.garbageImage},
			#{item.garbage},
			#{item.errorSort},
			#{item.correctSort},
			#{item.enable},
			#{item.remark},
			#{item.createBy},
			#{item.createTime},
			#{item.updateBy},
			#{item.updateTime})
		</foreach >
	</insert>

Oracle批量插入语法:无values插入 直接通过 SELECT t.*   from( )t 的方式来填充值

<insert id="addBatch" parameterType="java.util.List" useGeneratedKeys="false">
  INSERT INTO t_game_error_sort(
  user_id,
  record_id,
  garbage,
  garbage_img,
  error_sort,
  correct_sort,
  enable_,
  remark_,
  create_by,
  create_time,
  update_by,
  update_time
  )
 
  SELECT t.*
  from(
  <foreach collection="list" item="item" index="index" separator="UNION ALL">
   select
   #{item.userId} user_id,
   #{item.recordId} record_id,
   #{item.garbageImage} garbage_img,
   #{item.garbage} garbage,
   #{item.errorSort} error_sort,
   #{item.correctSort} correct_sort,
   #{item.enable} enable_,
   #{item.remark} remark_,
   #{item.createBy} create_by,
   #{item.createTime} create_time,
   #{item.updateBy} update_by,
   #{item.updateTime} update_time
   FROM dual
  </foreach>
  ) t   //批量插入的时候 要有别名
 </insert>

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值