首页 文章

将一个字段复制到另一个字段:“子查询返回超过1行”

提问于
浏览
0

这里我们有查询:

UPDATE ps_product_lang_copy 
    SET description =
    ( SELECT description
        FROM ( SELECT description
                FROM `ps_product_lang_copy`
                    WHERE id_lang = 5
                    ) t
    )
    WHERE id_lang IN (1,2,3,4);

我正在尝试做这件事:

我在 table 上有一个字段,称为“描述”

该表中的每一行都有一个'id_lang'

我想复制,每行,而不是只有一个,从id_lang = 5到'description'的其他行的字段'description'与id_lang IN(1,2,3,4),但系统,该查询告诉我: Subquery returns more than 1 row

我在堆栈溢出这里读了很多,但真的无法修复我的代码:(

编辑:

由我自己解决,我会在这里发布,以帮助彼此

UPDATE ps_product_lang
    INNER JOIN ps_product_lang_copy
    ON ps_product_lang.id_product = ps_product_lang_copy.id_product
    SET ps_product_lang.description = ps_product_lang_copy.description
    WHERE ps_product_lang_copy.id_lang = 5

ciuss

1 回答

  • 0

    解决了

    UPDATE ps_product_lang
    INNER JOIN ps_product_lang_copy
    ON ps_product_lang.id_product = ps_product_lang_copy.id_product
    SET ps_product_lang.description = ps_product_lang_copy.description
    WHERE ps_product_lang_copy.id_lang = 5
    

相关问题