如果不存在mysql插入到单独的表中

joh*_*ohn 1 php mysql

我正在尝试将临时导入表中的一组新联系人插入到我们的主要客户数据库中.在插入之前,我们首先要检查我们的黑名单中是否存在联系人.如果确实存在,我们不希望将其插入主表.

我首先从临时表中提取联系人:

SELECT `email` FROM `import_contacts`
Run Code Online (Sandbox Code Playgroud)

然后,我想将这些联系人插入主表,只有在它被"擦洗"或检查黑名单后.我目前的方式:

INSERT INTO `contacts` (`email`) 
VALUES ('".implode("','','',''),('",$email)."','','','') 
WHERE...
Run Code Online (Sandbox Code Playgroud)

当我遇到爆炸阵列时,我感到困惑,就像我已经破坏了所有联系人,包括那些黑名单上的联系人.因此,即使我要使WHERE声明工作,也会浪费并且充满模糊数据.

有没有办法在使用一个sql语句对黑名单表进行检查后将联系人插入主表?

任何帮助将不胜感激!!

Lee*_*vis 5

INSERT INTO `contacts` (`email`)
SELECT email FROM `import_contacts`
WHERE `import_contacts.email` NOT_IN(`SELECT email FROM my_blacklist`);
Run Code Online (Sandbox Code Playgroud)