MySQL 錯誤1093:了解FROM 子句中表格更新的限制
MySQL 錯誤「您無法指定目標表'table_name」當🎜>
MySQL 錯誤「您無法指定目標表'table_name」當🎜>MySQL 錯誤「您無法指定目標表'table_name」當🎜>MySQL 錯誤「您無法指定目標表'table_name」當🎜>MySQL 錯誤「您無法指定目標表'table_name」。從表格自己的SELECT 語句中修改表格時,會出現「for update in FROM 子句」。此限制源自於 MySQL 無法在相同操作中同時更新和引用表。
解決錯誤UPDATE story_category a INNER JOIN story_category b ON a.category_id = b.category_id SET a.category_id = ...
UPDATE story_category SET category_id = ( SELECT id FROM ( SELECT id FROM category EXCEPT SELECT DISTINCT category_id FROM story_category ) AS x )
SET optimizer_switch = 'derived_merge=off';
對於MySQL 版本 5.7.6 及更高版本,最佳化器可能會嘗試刪除子查詢。為了防止這種情況,請停用optimizer_switch:
注意:停用查詢最佳化器不是建議的長期解決方案,只能用作臨時修復。考慮更有效的資料庫維護的替代方法。以上是如何解決MySQL錯誤1093:無法在FROM子句中指定更新目標表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!