2015-11-05 92 views
0

我想用一個查詢更新MySQL中的兩個表,並且正在運行到一個錯誤。我已經看過類似的情況和解決方案,但似乎無法將它們轉換爲我具體的查詢/情況,因爲我繼續得到相同的錯誤。我的目標好像有一個明顯的解決方案,我錯過了。我的查詢如下: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() 

當我運行更新,我得到不是唯一的表/別名:「table_pu」返回。我更喜歡在這裏不使用別名,但我也嘗試爲具有相同結果的表設置唯一的別名。如果我的做法應該被修改,我的終極目標是讓table_pr.cpr2一套基於WHERE table_pu.cpr2_date < CURRENT_DATE()和更新是否運行table_pu.cpr2_id,還設置table_pu.cpr_updated = '1'

任何幫助或指導將不勝感激。

+1

嘗試'UPDATE table_pr INNER JOIN table_pu ON'等。 –

回答

0

刪除UPDATE語句中的第二個表引用解決了問題。