2016-10-19 65 views
0

这里更新查询是我试图运行更新:与多个子查询

UPDATE oc_product_gpf SET 
brand = '(select name from oc_manufacturer where manufacturer_id= 
(select manufacturer_id from oc_product where product_id = oc_product_gpf.product_id))' 
WHERE oc_product_gpf.gpf_id =2454; 

我收到的错误是“#1406 - 数据太长,列‘品牌’第1行”

有什么建议吗?提前致谢!

+2

这不是子查询。这是一个包含一些看起来像查询的文本的STRING。但由于它是一个字符串,“有点看起来像SQL”不会被执行。删除'''。 –

+0

请参阅http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查询 并尝试解释你实际正在做的事情。 – Strawberry

回答

2

您的子查询在此处不作为子查询。它只是作为一个字符串,并试图分配到“品牌”列。请删除''或将其转换为加入