如何仅在使用update
时更新50,000行?
我试过了:
UPDATE type4
LEFT JOIN sup ON sup.number = type4.number
SET type4.exported = 2
WHERE batch in ('B4', 'B5') AND outcome = 'new' AND sup.number is null
LIMIT 50000
使用限制时无效。
如何使用带有限制的子查询来完成?
答案 0 :(得分:1)
也许这样的事情可行。
AND WHERE id BETWEEN 1 AND 50000
假设ID为auto increment
并且未被破坏。
或做一个
UPDATE, SELECT WHERE IN LIMIT
但我觉得如果你在5.5
它就不再有用了检查此fiddle
警告某种伪代码
UPDATE type4
LEFT JOIN sup ON sup.number = type4.number
SET type4.exported = 2
WHERE batch IN ('B4', 'B5')
AND outcome = 'new'
AND sup.number is null
AND type4.id IN (
SELECT id FROM (
SELECT id FROM type4
LIMIT 50000
) temp
);