不按我的意愿工作更新查询

时间:2013-06-08 15:30:06

标签: mysql

您好我想用另一个值更新一个表,但不知道怎么做。

我试过这个但是没有用。

UPDATE tblagendamiento SET
CodigoAgenda = 
(select tmptable.CodigoCita from tmptable where tmptable.id = tblagendamiento.id);

这就是错误:

Subquery returns more than 1 row

2 个答案:

答案 0 :(得分:3)

实际上是因为子查询返回多行而导致错误。我认为您只需使用INNER JOIN查询即可实现此目的

UPDATE tblagendamiento a
INNER JOIN tmptable b
ON a.id = b.id
SET a.CodigoAgenda = b.CodigoCita 

答案 1 :(得分:2)

该消息告诉您子查询返回了多行。假设您不想使用随机值(可以通过将limit 1附加到查询中来实现),这意味着您的where子句不够有选择性。