zoukankan      html  css  js  c++  java
  • mybatis批量插入数据 ignore关键字忽略重复数据/唯一索引

    <!-- 批量插入数据 -->
    <insert id="insertxxxByBatch" parameterType="java.util.List">
        insert ignore into xxxtable (
            xxx_id,
            yyy_id,
            version
        )
        values
        <foreach collection="list" item="item" index="index"
                 separator=",">
            (
            #{item.xxxId},#{item.yyyId},#{item.version}
            )
        </foreach>
    </insert>
    

    此表中,xxx_id为唯一索引,批量插入数据时,使用ignore关键字,监测唯一索引,自动跳过重复数据,插入未重复数据。

    不使用ignore关键字时,则会抛出违反唯一索引异常。

    另:执行批量执行操作时,数据库连接地址上需要加&allowMultiQueries=true,表示可以支持批量操作

    IGNORE会导致自增ID不连续,这个应该与IGNORE的机制有关,因为重复的那条插入SQL是执行了的,只是没有入库。

    例:jdbc:mysql://ip:port/dataresource?useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true

    ignore的详细解释:https://blog.csdn.net/loongshawn/article/details/52387986


    作者:不敲代码的攻城狮
    出处:https://www.cnblogs.com/leigq/
    任何傻瓜都能写出计算机可以理解的代码。好的程序员能写出人能读懂的代码。

     
  • 相关阅读:
    EasyUI
    EasyUI
    EasyUI
    django MTV架构下的网站开发步骤
    Centos7下安装python3
    python 线程间事件通知
    hadoop MapReduce
    hadoop文件配置
    DataFrame 数据去重
    用selenium获取cookies
  • 原文地址:https://www.cnblogs.com/leigq/p/13406527.html
Copyright © 2011-2022 走看看