sql 根据唯一索引批量添加或者更新

<insert id="saveOrUpdateYiYuan" parameterType="java.util.List">
        insert into yiyuan
        (id,msisdn,iccid,status,card_type,plan,cost,
        out_time,active_time,expire_time,cycle,use_count,use_times,less_account,agent,enterprise,operator,remark)
        values
        <foreach collection="listData" item="item" index="index" separator=",">
            (#{item.id},#{item.msisdn},#{item.iccid},#{item.status},#{item.cardType},#{item.plan},
            #{item.cost},#{item.outTime},#{item.activeTime},#{item.expireTime},#{item.cycle},#{item.useCount},#{item.useTimes},
            #{item.lessAccount},#{item.agent},#{item.enterprise},#{item.operator},#{item.remark})
        </foreach>
        ON DUPLICATE KEY UPDATE
        id = values(id),
        msisdn = values(msisdn),
        iccid = values(iccid),
        status = values(status),
        card_type = values(card_type),
        plan = values(plan),
        cost =values(cost),
        out_time = values(out_time),
        active_time = values(active_time),
        expire_time = values(expire_time),
        cycle = values(cycle),
        use_count = values(use_count),
        use_times = values(use_times),
        less_account = values(less_account),
        agent = values(agent),
        enterprise = values(enterprise),
        operator = values(operator),
        remark = values(remark)
    </insert>

根据集合加入信息,如果 数据重复-ON DUPLICATE KEY UPDATE(唯一索引)则执行更新          

猜你喜欢

转载自blog.csdn.net/fl2502923/article/details/114159803
今日推荐