On Fri, 14 Nov 2003 18:45:06 +0000 (UTC), Disco Plumber
<scag@moralminority.org> wrote:
[color=blue]
>Justin Koivisto (31.596% quality rating):[color=green]
>>
>> UPDATE table_name SET field_name = field_name -1 WHERE field_name >
>> my_number[/color]
>
>Note: if field_name is a unique field or key, you'll need to add an
>ORDER BY clause to make sure this works.[/color]
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 (andy@andyh.co.uk) icq(5747695) (
http://www.andyh.co.uk)
Space: disk usage analysis tool (
http://www.andyhsoftware.co.uk/space)