MySQL Update多表查询语法

时间:2015-11-05 19:29:30

标签: mysql sql-update

我正在尝试使用一个查询更新MySQL中的两个表,并且遇到了错误。我已经查看了类似的情况和解决方案,但似乎无法将它们转换为我的特定查询/情况,因为我继续得到相同的错误。我的目标似乎是我缺少一个明显的解决方案。我的查询如下:

UPDATE table_pr, table_pu
INNER JOIN table_pu ON table_pr.id = table_pu.pr_id
SET table_pr.cpr2 = table_pu.cpr2_id, table_pu.cpr_updated = '1'
WHERE table_pu.cpr2_date < CURRENT_DATE()

当我运行Update时,我得到 Not unique table / alias:'table_pu'返回。我更喜欢不使用别名,但我也试图为表设置唯一的别名,结果相同。如果我的方法应该被修改,我的最终目标是根据table_pr.cpr2table_pu.cpr2_id设置为WHERE table_pu.cpr2_date < CURRENT_DATE(),如果运行更新,还要设置table_pu.cpr_updated = '1'

非常感谢任何帮助或指导。

1 个答案:

答案 0 :(得分:0)

删除UPDATE语句中的第二个表引用解决了该问题。