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;
请注意,以上解决方法的适用性取决于具体的查询和更新需求。选择适合你的情况的方法,并相应地修改查询和更新语句。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。