In the last episode (Jan 29), Igor Kutsyy said:
> Could you help me with this. I`m trying to increment values of
> primary auto_increment field from table, and ofcourse it is not
> working. Could you tell me how to construct a query correctly.
> +-------+--------------+------+-----+---------+----------------+
> | Field   | Type           | Null  | Key | Default | Extra          |
> +-------+--------------+------+-----+---------+----------------+
> | id      | int(11)         |         | PRI | NULL    | auto_increment |
> | descr | varchar(255) | YES| MUL | NULL    |                     |
> +-------+--------------+------+-----+---------+----------------+
> 
> mysql> update tb_roubr set id=id+1 where id>1 order by id;

UPDATE statements return no records, so ORDER BY is meaningless.  You
can't control the order the records are modified.  If your problem is
that id is a primary key and it won't let you temporarily have
duplicate id's, just drop the index, do your update, and recreate it. 
If you can't drop the index, you can sort of cheat by creating another
unindexed column id1, then do three separate updates: SET id1=id, SET
id=NULL, then finally SET id=id1.  You might be able to do the first
two at the same time with "SET id1=id, id=NULL", but test it on a
scratch table first :)

-- 
        Dan Nelson
        [EMAIL PROTECTED]

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to