![](/img/trans.png)
[英]Select multiple rows' ids and use them for the WHERE IN clause in an update query
[英]Multiple UPDATE from SELECT with multiple rows in WHERE clause [Mysql]
我有這個問題:
UPDATE Table1 SET Table1.parameterA = 1
WHERE Table1.parameterB = ?
AND Table1.parameterC = (
SELECT Table2.id
FROM Table2
WHERE Table2.parameterD = ? AND Table2.date > ?
)
這不起作用,因為select返回多行:
{ Error: ER_SUBQUERY_NO_1_ROW: Subquery returns more than 1 row }
是否可以通過解決方法來執行此多次更新?
當使用=
SQL時需要一個值。
如果你想使用結果列表 - 你應該像這樣使用IN
:
UPDATE Table1 SET Table1.parameterA = 1
WHERE Table1.parameterB = ?
AND Table1.parameterC IN (
SELECT Table2.id
FROM Table2
WHERE Table2.parameterD = ? AND Table2.date > ?
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.