On Fri, 14 Nov 2003 18:45:06 +0000 (UTC), Disco Plumber
<sc**@moralminority.org> wrote:
Justin Koivisto (31.596% quality rating):
UPDATE table_name SET field_name = field_name -1 WHERE field_name >
my_number
Note: if field_name is a unique field or key, you'll need to add an
ORDER BY clause to make sure this works.
But watch out if you're still using MySQL 3.x, as it doesn't support ordered
updates:
mysql> insert into test values (2), (3), (1);
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> update test set id = id + 1;
ERROR 1062: Duplicate entry '3' for key 1
mysql> update test set id = id + 1 order by id;
ERROR 1064: You have an error in your SQL syntax near 'order by id' at line 1
--
Andy Hassall (an**@andyh.co.uk) icq(5747695) (
http://www.andyh.co.uk)
Space: disk usage analysis tool (
http://www.andyhsoftware.co.uk/space)