子查询返回1行以上-大于条件的解决方案

时间:2018-10-23 19:19:46

标签: mysql

我想知道是否有MySQL解决此问题的方法:

UPDATE table2
SET col2 = (SELECT col1 FROM table1 WHERE  id >= 10)
WHERE  id2 >= 10;

MySQL上显示一个错误:

  

子查询返回1行以上

还是使用PHP更正确?

UPD:

UPDATE table2 JOIN table1
ON table2.id2 = table1.id
SET table2.col2 = table1.col1
WHERE table2.id2 > 10;

这是解决我的问题的简单方法,也许对和我一样的初学者很有用。

1 个答案:

答案 0 :(得分:0)

您可以使用“中” UPDATE table2 SET col2 IN(从table1中选择col1,其中id> = 10)在id2> = 10;