如何实现mysql数据库批量更新与添加(ON DUPLICATE KEY UPDATE)

如何实现mysql数据库批量更新与添加(ON DUPLICATE KEY UPDATE)

代码

#code

    INSERT INTO TABLE(ORDER_ID, TOTAL, REMAIN, CREATE_TIME, MODIFY_TIME, MODIFY_BY, DELETED ,AVAILABLE)
    
    VALUES
    <foreach collection="list" item="item" index="index" separator="," >
        (#{item.orderId}, #{item.total}, #{item.remain},#{item.createTime},#{item.modifyTime},#{item.modifyBy},#{item.deleted},#{item.available})
    </foreach>
    ON DUPLICATE KEY UPDATE
    REMAIN =  values(REMAIN),
    TOTAL =  values(TOTAL),
    MODIFY_TIME = now(),
    AVAILABLE = values(AVAILABLE)
</insert>

代码解释

1.INSERT INTO TABLE ( ORDER_ID, TOTAL, REMAIN, CREATE_TIME, MODIFY_TIME, MODIFY_BY, DELETED ,AVAILABLE)里必须有且只有一个字段在mysql数据库中被标记为unique约束,比如orderId。
2.foreach里为插入数据库时的标准需要的字段,即同时插入这几个字段时可以插入一条数据。
3.ON DUPLICATE KEY UPDATE为固定写法,不可改变。
4.ON DUPLICATE KEY UPDATE后为如果数据库中存在要插入的orderId时要更新的字段。
5.sql标签可以写insert或update,都能实现。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值