使用其他表中的数据进行mysql更新

时间:2013-11-16 22:22:25

标签: mysql

我一直在阅读并尝试了很多类似问题的答案。 我需要使用表品牌的字段名称更新表测试字段品牌。 我这样做选择检查需要更新的字段:

SELECT brand.name,test.`1_name` 
FROM test  INNER JOIN brand 
ON test.`1_name` LIKE CONCAT('%',brand.name,'%')

以上给我32000条记录的结果。 我尝试使用

在更新中使用该选择
UPDATE `test` SET brand=(....)

但无法让它发挥作用。

1 个答案:

答案 0 :(得分:0)

试试这个:

UPDATE `test` SET brand=(SELECT brand.name FROM test  INNER JOIN brand ON test.`1_name` LIKE CONCAT('%',brand.name,'%'))

您发布的查询会返回一组数据(SELECT brand.name,test.1_name ... ), SET brand =`需要一个标量值。

换句话说,确保您的查询只返回一个结果。