mysql--插入前判断数据是否重复

      INSERT INTO stat_card_nopass (sz_employ_id, sz_name, ng_branch_id, ng_dev_id, sz_dev_name, sz_dev_place, ts_card, sz_photo_path, ts_create, memo, state, ng_user_id)
        SELECT employId,userName,branchId,devId,devName,devPlace,
        cardTime,photoPath,createTime,memo,state,userId
        FROM
        (
        select
        #{noPassTpm.employId} as employId, #{noPassTpm.userName} as userName,
        #{noPassTpm.branchId} as branchId, #{noPassTpm.devId} as devId,
        #{noPassTpm.devName} as devName, #{noPassTpm.devPlace} as devPlace,
        #{noPassTpm.cardTime} as cardTime, #{noPassTpm.photoPath} as photoPath,
        #{noPassTpm.createTime} as createTime, #{noPassTpm.memo} as memo,
        #{noPassTpm.state} as state, #{noPassTpm.userId} as userId
        from dual
        ) r
         WHERE NOT EXISTS
        (SELECT 1 FROM stat_card_nopass WHERE ng_user_id = r.userId AND ts_card = r.cardTime)

如上所示,可以保证stat_card_nopass表中的ng_user_id和ts_card字段是唯一的,两个字段重复的不会插入

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值