mysql的防止重复插入

  1. 代码防止
    通过唯一编码在数据库获取是否存在
  2. 通过sql防止
    insert into table (xxx) select xxx from dual where not exists(select cust_tel from crm_customer_detail_extra where cust_tel=#{custTel,jdbcType=VARCHAR})
    3.注解设置防止重复提交
 <insert id="insertCustDetail" parameterType="com.znlh.crm.entity.CrmCustomerDetailExtra" >
                <selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >
                        SELECT LAST_INSERT_ID()
                </selectKey>
                insert into crm_customer_detail_extra
                <trim prefix="(" suffix=")" suffixOverrides="," >
                        <if test="custCode != null" >
                                cust_code,
                        </if>
                        <if test="custAvatar != null" >
                                cust_avatar,
                        </if>
                        <if test="custNick != null" >
                                cust_nick,
                        </if>
                        <if test="logoutStatus != null" >
                                logout_status,
                        </if>
                        <if test="lastLogoutTime != null" >
                                last_logout_time,
                        </if>
                        <if test="createTime != null" >
                                create_time,
                        </if>
                        <if test="updateTime != null" >
                                update_time,
                        </if>
                        <if test="delFlag != null" >
                                del_flag,
                        </if>
                        <if test="custTel != null">
                                cust_tel,
                          </if>
                </trim>
                <trim prefix="select " suffix="from dual" suffixOverrides="," >
                        <if test="custCode != null" >
                                #{custCode,jdbcType=VARCHAR},
                        </if>
                        <if test="custAvatar != null" >
                                #{custAvatar,jdbcType=VARCHAR},
                        </if>
                        <if test="custNick != null" >
                                #{custNick,jdbcType=VARCHAR},
                        </if>
                        <if test="logoutStatus != null" >
                                #{logoutStatus,jdbcType=TINYINT},
                        </if>
                        <if test="lastLogoutTime != null" >
                                #{lastLogoutTime,jdbcType=TIMESTAMP},
                        </if>
                        <if test="createTime != null" >
                                #{createTime,jdbcType=TIMESTAMP},
                        </if>
                        <if test="updateTime != null" >
                                #{updateTime,jdbcType=TIMESTAMP},
                        </if>
                        <if test="delFlag != null" >
                                #{delFlag,jdbcType=TINYINT},
                        </if>
                        <if test="custTel != null">
                                #{custTel,jdbcType=VARCHAR},
                          </if>
                </trim>
                where not exists(
                select cust_tel 
                from crm_customer_detail_extra 
                where cust_tel=#{custTel,jdbcType=VARCHAR})
        </insert>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值