php mysql更新限制

I want to update mysql database, where directory = 0, and just update 5 of records which value 0 to art.

for explain:

id    |   directory
1     |   fashion
2     |   0    //update here into 'art'
3     |   travel
4     |   fashion
5     |   0    //update here into 'art'
6     |   0    //update here into 'art'
7     |   travel
8     |   0    //update here into 'art'
9     |   0    //update here into 'art'
10    |   0    //this is 6th record, do not update, leave the value as '0'.
11    |   fashion

Is this update code right? thanks.

mysql_query("UPDATE articles SET directory = 'art' WHERE directory ='0' LIMIT 5");

your syntax is fine.

i will add an order by clause (to be sure)

ORDER BY `Id`

to query

UPDATE articles SET directory = 'art' WHERE directory ='0' ORDER BY id LIMIT 5

Your query doesn't seem wrong to me.

But note that you might also want to specify an order by clause, to be sure which are the five "first" items :

update articles
set directory = 'art'
where directory = '0'
order by id
limit 5


Just as a reference : UPDATE Syntax