我必须创建一个包含大量查询(大约150,000)的mysql查询
目前查询是:
UPDATE table SET activated=NULL
WHERE (
id=XXXX
OR id=YYYY
OR id=ZZZZ
OR id=...
...
)
AND activated IS NOT NULL
你知道最好的方法吗?
答案 0 :(得分:3)
如果您正在谈论成千上万的项目,那么IN
条款可能无效。在这种情况下,您可能希望将项目插入临时表,然后与其一起进行更新,如下所示:
UPDATE table tb
JOIN temptable ids ON ids.id = tb.id
SET tb.activated = NULL
答案 1 :(得分:1)
UPDATE table
SET activated = NULL
WHERE id in ('XXXX', 'YYYY', 'zzzz')
AND activated IS NOT NULL