如何使用mysql中相同表的结果更新行?
如何使用mysql中相同表的结果更新行 像这样如何使用mysql中相同表的结果更新行?,mysql,insert-update,Mysql,Insert Update,如何使用mysql中相同表的结果更新行 像这样 UPDATE `ps_product_lang` SET `description` = ( SELECT `description` FROM `ps_product_lang` WHERE `id_product` = 300003) WHERE `id_product` = 300003 我发现了错误 #1093-无法指定要更新的目标表“ps\U product\U lang
UPDATE `ps_product_lang`
SET `description` = (
SELECT `description`
FROM `ps_product_lang`
WHERE `id_product` = 300003)
WHERE `id_product` = 300003
我发现了错误
#1093-无法指定要更新的目标表“ps\U product\U lang”
in-FROM从句
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\u产品
?那没用。对不起
答案是:
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
巴尔马-谢谢!:) 更新ps_product_lang AS p1可能重复交叉连接ps_product_lang AS p2 SET p1.description=p2.description其中p1.id_product=300003和
id_lang
=3和p2.id_product=300003和id_lang
=1类似于此??我在原始查询中没有看到任何关于不同语言的信息。