DUPLICATE KEY UPDATE 循环使用(批量新增或更新时)

当批量新增或更新数据时 DUPLICATE KET UPDATE 语法  这个语法首先要在数据库表里设定除了主键以外 一个字段的 UNIQUE索引。

批量操作 实现代码

复制代码
<insert id="batchSaveCommissionSummaryList" parameterType="list" >

    insert into commission_summary
      (enterprise_id,enterprise_name,in_province_amount,in_province_rate,in_province_commission,out_province_amount,out_province_rate,
      out_province_commission,total_amount,total_commission,month,create_time)
    values
    <foreach collection="list" item="item" index="index" separator=",">
      (#{item.enterpriseId},#{item.enterpriseName},#{item.inProvinceAmount},#{item.inProvinceRate},#{item.inProvinceCommission},#{item.outProvinceAmount},
      #{item.outProvinceRate},#{item.outProvinceCommission},#{item.totalAmount},#{item.totalCommission},#{item.month},#{item.createTime})
    </foreach>
    ON DUPLICATE KEY UPDATE
        enterprise_id = values(enterprise_id),
        enterprise_name = values(enterprise_name),

        in_province_amount = values(in_province_amount),

        in_province_rate = values(in_province_rate),

        in_province_commission = values(in_province_commission),

        out_province_amount = values(out_province_amount),

        out_province_rate =values(out_province_rate),

        out_province_commission = values(out_province_commission),

        total_amount = values(total_amount),

        total_commission = values(total_commission),

        month = values(month),

        create_time = values(create_time)
  </insert>
复制代码

 

posted @   了悟  阅读(1146)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示