简体   繁体   English

插入选择不存在的位置

[英]Insert Select where not exists

Hello I'm still struggling with the following code 您好,我仍在努力处理以下代码

INSERT INTO m4zbv_mt_cfvalues (cf_id, link_id,value) 
    SELECT 87,link_id,1
    FROM m4zbv_mt_links WHERE Upper(`link_name`) like'%#VMWARE APPLIANCE DEFAULT PASSWORDS%'
    WHERE NOT EXISTS(select cf_id, link_id from m4zbv_mt_cfvalues where cf_id=87 and link_id=m4zbv_mt_links.link_id)

This section works fine: 本部分工作正常:

INSERT INTO m4zbv_mt_cfvalues (cf_id, link_id,value) 
    SELECT 87,link_id,1
    FROM m4zbv_mt_links WHERE Upper(`link_name`) like'%#VMWARE APPLIANCE DEFAULT PASSWORDS%'

I'm unsure how I can pass the values for m4zbv_mt_links.link_id from the first select and how to integrate the WHERE NOT EXISTS 我不确定如何从第一个选择中传递m4zbv_mt_links.link_id的值以及如何集成WHERE NOT EXISTS

Thanks for any help 谢谢你的帮助

It should be and instead of where : 应该是and而不是在where

INSERT INTO m4zbv_mt_cfvalues (cf_id, link_id,value) 
SELECT 87,link_id,1
FROM m4zbv_mt_links WHERE Upper(`link_name`) like'%#VMWARE APPLIANCE DEFAULT PASSWORDS%'
and NOT EXISTS
               (select cf_id, link_id 
                from m4zbv_mt_cfvalues 
                where cf_id=87 and link_id=m4zbv_mt_links.link_id)

如果您只是想避免重复,则只需INSERT IGNORE(并删除WHERE NOT EXISTS子句)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM