2014-03-13 40 views
1

如何仅在使用update时更新50,000行?更新加入限额50000?

我曾尝试:

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

也许试试之间? – majidarif

回答

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 
);