rvolt
Дата: 01.03.2007 18:50:54
В общем проблема такая, есть таблица с целочисленным полем, по этому полю происходит сортировка записей при выводе. Обычно в этом поле имеются данные следующего вида:
----------------------
Данные, Позиция
----------------------
Данные 1, 100
Данные 2, 200
Данные 3, 300
Данные 4, 400
И когда, например, строку 3 надо перетащить на 2-ю позицию делаю так:
----------------------
Данные, Позиция
----------------------
Данные 1, 100
Данные 2, 200
Данные 3, 150
Данные 4, 400
Теперь вопрос - каким образом можно перенумеровать ряд что бы он принял вид исходного, т.е.:
----------------------
Данные, Позиция
----------------------
Данные 1, 100
Данные 2, 300
Данные 3, 200
Данные 4, 400
В mysql всё делается просто:
set @counter := 0;
update table_name set position = (@counter := @counter + 100) order by position;
Самому времени нет разбираться, может кто что-нибудь посоветует?