----- Original Message ----- From: "Rich" <[EMAIL PROTECTED]>
To: <mysql@lists.mysql.com>
Sent: Saturday, March 18, 2006 6:28 PM
Subject: Update Multiple Records


Hi folks.

I want to set the status of 5 records to 'completed'. how do I go about that without having to prepare 5 different instructions?

"update myTable set status = 'completed' where id=10 OR id=20 OR id=30 OR id=40 OR id=50"

That should work. So should:

   update myTable set status = 'completed' where id in (10, 20, 30, 40, 50)

and (assuming id 10 through 50 are the ONLY numbers in that range!), so should this:

   update myTable set status = 'completed' where id between 10 and 50

A properly written program would probably use one or more variables to control which rows got deleted; for example, something like this pseudocode:

update myTable set status = 'completed' where id between :lowValue and :highValue

where lowValue and highValue are variables. Your program would then set the values of the two variables before executing the UPDATE statement. But you didn't say if you were using a programming language to do some of the work or if you were trying to do everything purely in MySQL.

I'm trying to reduce the number of instructions.

The best way to accomplish this is to reason out the circumstances under which you will do updates. What will you know about the row(s) being updated when it is time to update them? Be careful to make sure you are updating ONLY the rows that should be updated. If you specify your WHERE conditions incorrectly, you can update every row of the table or none at all.

--
Rhino


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.2.5/284 - Release Date: 17/03/2006


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to