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

标签 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=(....)

但无法让它工作。

最佳答案

试试这个:

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 = ` 需要一个标量值。

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

关于mysql 使用其他表中的数据更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20024670/

相关文章:

mysql - SQL 列出尚未订购的产品

mysql - 将文本列设为唯一键

jquery - FullCalendar使用jquery从url获取事件

mysql - mysql中用什么命令看表并给出提示?

php - 停止SQL添加多行相同信息

java - 无法通过Java项目连接到数据库,但可以使用客户端

php - 在没有定义排序规则的情况下订购 MySQL 字符串结果?

MySQL self-join with order by optimization

mysql - 从表 A 中获取与表 B 相关的记录,该表在同一个表中具有子记录

mysql - 如何替换sql中的通配符url?