Mysql-如果新表中不存在行,则从一个表移动到另一个表
如果新表中不存在列,我想将表中的行移动到另一个表中。 假设我想移动登录信息,并检查电子邮件。文本形式如下: 如果电子邮件与表2中的任何电子邮件行不匹配,则从表1中移动该行(如果该行已存在于表2中,则不执行任何操作)。 我目前有此代码,它不会检查新表中是否存在电子邮件,但我希望能够:Mysql-如果新表中不存在行,则从一个表移动到另一个表,mysql,Mysql,如果新表中不存在列,我想将表中的行移动到另一个表中。 假设我想移动登录信息,并检查电子邮件。文本形式如下: 如果电子邮件与表2中的任何电子邮件行不匹配,则从表1中移动该行(如果该行已存在于表2中,则不执行任何操作)。 我目前有此代码,它不会检查新表中是否存在电子邮件,但我希望能够: INSERT INTO logins(firstname, lastname, email, departmentid) SELECT firstname, lastname, email, departmentid
INSERT INTO logins(firstname, lastname, email, departmentid)
SELECT firstname, lastname, email, departmentid FROM temp_uploads WHERE tempuploadid = ?
我必须在select语句中联接两个表吗?或者可以用更好的方法来完成吗?您可以尝试以下查询:
INSERT INTO logins(firstname, lastname, email, departmentid)
SELECT firstname, lastname, email, departmentid
FROM temp_uploads
WHERE tempuploadid = ?
AND NOT EXISTS (
SELECT * FROM logins WHERE email = temp_uploads.email
);