如果新表中不存在列,我想将表的行移动到另一个表。 说我想移动登录信息,我检查电子邮件。这将是文本形式:
如果电子邮件与table2中的任何电子邮件行都不匹配,则从table1移动行(如果table2中已存在,则不执行任何操作)。 我目前有这个代码,它不会检查新表中是否存在电子邮件,但我希望能够:
INSERT INTO logins(firstname, lastname, email, departmentid)
SELECT firstname, lastname, email, departmentid FROM temp_uploads WHERE tempuploadid = ?
我必须在select语句中加入两个表吗?或者可以以更好的方式完成?
答案 0 :(得分:0)
您可以尝试以下查询:
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
);