Insert新增数据带where条件

Insert带where条件语句


	INSERT INTO tb_user_wx_data_c ( user_id, user_wx_nickname, user_wx_sex, user_wx_headimgurl, user_wx_openid, user_wx_unionid, user_wx_create_time, user_wx_province, user_wx_country, user_wx_city ) SELECT
	#{user_id},
    #{user_wx_nickname},
	#{user_wx_sex},
    #{user_wx_headimgurl},
    #{user_wx_openid},
    #{user_wx_unionid},
	now( ),
    #{user_wx_province},
    #{user_wx_country},
    #{user_wx_city}
	FROM
	DUAL
	WHERE
		NOT EXISTS ( SELECT user_wx_openid FROM tb_user_wx_data_c WHERE user_wx_openid =  #{user_wx_openid} )

批量Insert带where条件语句

INSERT INTO tb_user_tag_record_c ( tag_id_c, user_id_c, status, createtime )
    <foreach collection="list" item="ids" separator="union all">
    (
        SELECT
           #{ids}, #{user_id_c}, 1, now( )
        FROM DUAL
        WHERE NOT EXISTS ( SELECT
        *
        FROM
        tb_user_tag_record_c
        WHERE
        tag_id_c = #{ids}
        AND user_id_c = #{user_id_c} )
    )
    </foreach>

#Insert新增主键重复执行Update


	INSERT INTO x_xx_xxx
	 	( order_count_all, order_price_all, integral_all, createtime, status, phone )
	VALUES
		( 0, 0, 0, now( ), 1, 17782349491 ) 
	ON DUPLICATE KEY UPDATE
	    order_count_all = order_count_all + 1,
		order_price_all = order_price_all + 1,
		integral_all = integral_all + 1,
		updatetime = now( )


版权声明:本文为weixin_45308718原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。