I would personally do it in three statements. The first one creates a temporary table from the results of the (SELECT) below. The second is the update with a JOIN to the temporary table. The third drops the temporary table. Doing it that way avoids the need to scroll through your recordset client-side.
I think this could(might) work for you as an all-in-one statement (not tested): UPDATE tablename INNER JOIN (SELECT tablename.ID from tablename WHERE usage='somevalue' ORDER BY id LIMIT 1000) as rows_to_update ON rows_to_update.id = tablename.id SET checked=1 As I said, it's not tested. It also relies on the "derived table" (anonymous view) feature of MySQL which may not be available in your version. Yours, Shawn Green Database Administrator Unimin Corporation - Spruce Pine "darren" <[EMAIL PROTECTED] To: <[EMAIL PROTECTED]> box.com> cc: Fax to: 06/28/2004 11:42 Subject: select and update field in one query AM Hi all, I need to select the top 1000 records based on the "usage" field and update the "checked" field to '1'. I am currently doing it in 2 statements; i.e. select first then update from a MYSQL_ROW array. How do I do it in just a single statement? Please advice on a better way. Also...will doing this in one statement be more efficient from the server perspective? Thanks in advance -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]