[英]How to update rows using results from the same table in mysql?
如何使用mysql中同一表的结果更新行?
像这样...
UPDATE `ps_product_lang`
SET `description` = (
SELECT `description`
FROM `ps_product_lang`
WHERE `id_product` = 300003)
WHERE `id_product` = 300003
我遇到了错误
#1093-您无法在FROM子句中指定目标表“ ps_product_lang”进行更新
使用联接:
UPDATE ps_product_lang AS p1
CROSS JOIN ps_product_lang AS p2
SET p1.description = p2.description
WHERE p1.id_product = 300003
AND p2.id_product = 300003
您是否真的要在源和目标中使用相同的id_product
? 那什么也没做。
对不起,
这是答案:
UPDATE ps_product_lang AS p1
CROSS JOIN ps_product_lang AS p2
SET p1.description = p2.description
WHERE p1.id_product = 300003 and p1.`id_lang` =3
AND p2.id_product = 300003 and p2.`id_lang` =1
Barmar-谢谢! :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.