我必须更新表中的所有行。这是我的查询

时间:2012-11-26 03:46:07

标签: nested-queries mysql-error-1242

UPDATE tracks 
SET People_id_Reference = (SELECT People_id 
                           FROM People 
                           RIGHT JOIN top100 
                           ON 
                           People_name=top100.artist ) 
                           WHERE People_id_Reference IS NULL;

但我得到的错误是这样的:

ERROR 1242(21000): SUBQUERY RETURNS MORE THAN ONE ROW

有些人可以帮我解决这个问题。提前致谢

2 个答案:

答案 0 :(得分:1)

最简单的方法是将LIMIT 1附加到子查询的末尾,只强制它返回一行。

答案 1 :(得分:0)

像这样更改你的代码: 选择 *   来自package_reviews   WHERE post_id = ANY(SELECT post_id                      来自wp_posts                      WHERE post_author = 1); 这个链接非常有用 http://dev.mysql.com/doc/refman/5.0/en/subquery-errors.html