我有一个表'table1'需要更新。 我有一个查询将提取需要更新的必需ID。 e.g。
+------+
| id |
+------+
| 2 |
+------+
| 3 |
+------+
| 4 |
+------+
| 7 |
+------+
| 8 |
+------+
我试过
UPDATE table1 set col1=0 where id=**query that lists id** [Didn't worked]
UPDATE table1 set col1=0 where id in **query that lists id** [Didn't worked]
如何更新表格中我从其他查询中提取的id数量?
*注: 使用MySQL
我从中提取id的子查询涉及'table1'和mysql document 它说, 目前,您无法更新表并从子查询中的同一个表中进行选择。
答案 0 :(得分:1)
在MySQL中,最有效的方法可能是使用join
:
UPDATE table1 toupdate join
(select id
from <someothertable>
) sot
on toupdate.id = sot.id
set toupdate.col1 = 0;
如果选择id
的查询实际使用table1
,这也会有用。
答案 1 :(得分:0)
使用
update table1 set col1 = 0 where id in (select id from tablen)
答案 2 :(得分:0)
尝试
UPDATE table1 set col1=0 where id in (select id from <someothertable>)
答案 3 :(得分:0)
有效的方法如下:
这个想法似乎不是一个好习惯,但它确实有效。