这里我们有查询:
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);
我正在尝试做这件事:
我在桌子上有一个字段,称为“描述”
此表中的每一行都有一个'id_lang'
我希望将每行(而不仅仅是一行)的字段“描述”从id_lang = 5复制到其他行的“描述”,其中包含id_lang IN(1,2,3,4)但是系统,用查询告诉我:子查询返回超过1行
我在堆栈溢出时阅读了很多,但实际上无法修复我的代码:(
编辑:
我自己解决,我会在这里发帖帮助对方
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
答案 0 :(得分: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