MySQL 错误 1093:了解 FROM 子句中表更新的限制
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错误1093:无法在FROM子句中指定更新目标表?的详细内容。更多信息请关注PHP中文网其他相关文章!