我無法得到這個查詢在MySQL工作:如何用查詢結果更新單個列的值?
UPDATE proyects_c
SET director=(SELECT users.keyid
FROM users,proyects
WHERE users.username=proyects.director
);
現在的問題是,子查詢返回不止一行。事情是,這是我想要的。它返回的行數與proyects_c中的行數相同,因此我期望這樣做是使用查詢結果更新列導向器中的每一行。
但是我得到的錯誤:
ERROR 1242 (21000) at line 23: Subquery returns more than 1 row
這是有道理的,但我不能讓它做我想做的。我究竟做錯了什麼?
作爲第二個問題,我如何將它分解爲兩個查詢?爲了清楚起見。
如果users.keyid返回多個值會怎麼樣?錯誤本身就是這樣說的。 – AK47 2014-10-16 10:06:55
你想要它做什麼? – Strawberry 2014-10-16 10:11:11
選中此項。 http://stackoverflow.com/questions/15209414/mysql-update-join – Aravind 2014-10-16 10:14:02