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字段是唯一的,两个字段重复的不会插入