TableA:ID、邮件、团队、[其他列]
TableB:ID、邮件、团队、[其他列]
ID 是两个表中的主键。我需要处理 TableB 中的每一行,并且:
- 如果 ID 在 TableA 中不存在,则插入新行 - 使用列 ID、邮件、团队(仅限)
- 如果 ID 确实存在于 TableA 中,则使用新的邮件值更新行(仅限)
- 存在于 TableA 但不存在于 TableB 行中的 ID 应保持不变
我有 :
INSERT INTO tablea (id,mail,team) (SELECT id,mail,team FROM tableb)
ON DUPLICATE KEY update tablea SET tablea.mail=tableb.mail;
这不起作用 - 我想我需要加入才能使最后一个 SET 命令有效,但不确定这部分,有人可以帮忙吗?
非常感谢