Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用mysql中相同表的结果更新行?_Mysql_Insert Update - Fatal编程技术网

如何使用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

如何使用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” in-FROM从句

  • 我可以在MySQL上做吗
  • 什么是正确的查询
  • 使用联接:

    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类似于此??我在原始查询中没有看到任何关于不同语言的信息。