mysql + update top n

Ste*_*ers 9 mysql sql sql-update

我有这样的查询:

update  table
set     status = 1
where   status = 2;     
Run Code Online (Sandbox Code Playgroud)

但我只想这样做到前400名.我尝试添加'限制0,400'(就像我在查询中一样),但这不起作用.我做了一些搜索,mysql似乎不像sql server那样支持TOP(n)命令.

知道我是怎么做的吗?

编辑:为了将来参考,我使用以下样式进行选择,工作正常:

select  * 
from    table
where   ... limit 0, 400;
Run Code Online (Sandbox Code Playgroud)

但是在更新中,无论出于何种原因它都无法使用"0".我会考虑这种不一致和模棱两可的行为,但是哦.

Qua*_*noi 23

UPDATE  table
SET     status = 1
WHERE   status = 2
ORDER BY id
LIMIT 400
Run Code Online (Sandbox Code Playgroud)

签入MySQL 5.2.0-falcon-alpha-community-nt-log,确认工作.

在你的情况下,它是0LIMIT 0, 400不工作.

你不能使用UPDATE's中的下限LIMIT.