SQL查询错误#1093 - 无法指定目标表“A”在FROM子句
问题描述:
在我的WordPress DB我执行一个版本更加简化查询更新时间:SQL查询错误#1093 - 无法指定目标表“A”在FROM子句
UPDATE wp_postmeta a
SET a.meta_value = 'roses'
WHERE a.meta_key = 'flowers' AND
EXISTS (SELECT *
FROM wp_postmeta b
WHERE a.post_id = b.post_id AND
b.meta_key = 'month' AND
b.meta_value = 'august')
我不断收到以下错误:
#1093 - You can't specify target table 'a' for update in FROM clause
我在处理DB查询以了解如何修复查询方面经验有限。
任何帮助将不胜感激。
更新#1:答案由@Rahul在下面提供。
答
执行如下所示的UPDATE JOIN
。用同一张表做SELF JOIN
。
UPDATE wp_postmeta a
JOIN wp_postmeta b ON a.post_id = b.post_id AND
b.meta_key = 'month' AND
b.meta_value = 'august'
SET a.meta_value = 'roses'
WHERE a.meta_key = 'flowers';
+0
拉胡尔式的,谢谢!你的回答对我来说非常合适。 – Jorge
标签正确**的MySQL!=的Microsoft SQL Server ** – lad2025
拿出更多的别名,离开了''出'from'块 – Drew