我想运行这个查询:
UPDATE up SET up.pts = uc.checkin_worth WHERE uc.email = up.email AND uc.company_id = up.company_id AND uc.email = 'test@gmail.com' AND uc.company_id = ' 4' AND uc.qrcode = 'j'
但是,我收到一个错误,因为我不知道如何在 UPDATE 查询中合并两个表(uc 和 up)。
谁能帮我解决这个问题?
谢谢,
最佳答案
只需使用普通的 JOIN 语法:
UPDATE up JOIN uc ON uc.email = up.email AND uc.company_id = up.company_id
SET up.pts = uc.checkin_worth
WHERE uc.email = 'test@gmail.com' AND uc.company_id = '4' AND uc.qrcode = 'j'
您还可以使用旧的逗号语法,它更类似于您的原始查询:
UPDATE uc, up
SET up.pts = uc.checkin_worth
WHERE uc.email = up.email
AND uc.company_id = up.company_id
AND uc.email = 'test@gmail.com'
AND uc.company_id = '4'
AND uc.qrcode = 'j'
关于具有两个表的Mysql UPDATE查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14048545/