MySQL中的錯誤“無法在FROM子句中更新目標表”通常出現在嘗試更新一個正在被查詢的表時。這是因為MySQL不允許在同一個查詢中同時更新和查詢同一個表。
要解決這個問題,可以使用臨時表或子查詢來避免在FROM子句中更新目標表。
以下是幾種解決方法:
CREATE TEMPORARY TABLE temp_table AS (SELECT * FROM your_table WHERE condition);
UPDATE temp_table SET column = value;
UPDATE your_table SET column = value WHERE id IN (SELECT id FROM your_table WHERE condition);
SET @id := (SELECT id FROM your_table WHERE condition);
UPDATE your_table SET column = value WHERE id = @id;
請注意,以上解決方法的適用性取決于具體的查詢和更新需求。選擇適合你的情況的方法,并相應地修改查詢和更新語句。