執行涉及更新的MySQL 查詢時表並在同一查詢中將其引用為資料來源,您可能會遇到錯誤「表被指定兩次」。當同一個表既是 UPDATE 語句的目標,又在用於確定更新條件的子查詢中顯示為單獨的表時,就會出現此錯誤。
要解決此錯誤並成功更新所需的表,請按照以下步驟操作步驟:
SELECT m2.branch_id FROM manager AS m2 WHERE (m2.branch_id, m2.year) IN (...)
SELECT * FROM (SELECT m2.branch_id FROM manager AS m2 WHERE (m2.branch_id, m2.year) IN (...)) AS subquery
UPDATE manager SET status = 'Y' WHERE branch_id IN ( SELECT branch_id FROM subquery );
透過使用衍生表,您可以避免指定管理器表既作為目標又作為資料來源,解決了「表被指定兩次」錯誤。這種技巧確保子查詢只被引用一次,並允許 UPDATE 語句成功執行。
以上是為什麼在 MySQL UPDATE 查詢中出現「表被指定兩次」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!