Mysql 查询 - 子查询返回多于 1 行错误

标签 mysql mysql-error-1242

我有一个表resources (title, resourceid) 和另一个表classifications (title, resourceid, classificationid)

我想将资源中的图 block 添加到分类表中,classifications 中有多行具有相同的 resourceid

当我写这个查询时

update `classification` 
set `title`= (select title 
              from Resources 
              where Resources.`resourceid` = classification.`resourceid`)

我遇到了这个错误:

Error - subquery returns more than 1 row.

最佳答案

尝试按标题对子查询进行分组,即:

UPDATE classification SET title=(SELECT title FROM Resources
    WHERE Resources.resourceid=classification.resourceid GROUP BY title);

关于Mysql 查询 - 子查询返回多于 1 行错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4622943/

相关文章:

mysql - 仅在 MySQL 数据库上出现 Django 错误

MySQL 更新有两个子查询

mysql - zend 适配器类的 fetchall 函数不起作用

mysql - 当其值小于指定数字时选择所有行?

mysql - rails : order query by big decimal attribute

mysql - 如何在学说中左连接子选择

mysql - DB 关系(对于任何 ORM 都很优雅)

mysql 每日计数 ifnull 零

mysql - 嵌套查询中的问题 Mysql问题