Есть таблица otdel в бд MySQL
table: otdel
nomer(int) | name(string)
1 | Иванов
2 | Петров
3 | Сидоров
4 | Карпов
Номер каждого сотрудника необходим для сортировки внутри отдела, т.е. первым должен идти директор/начальник, затем его замы и т.д. Допустим я хочу добавить нового сотрудника в существующий отдел, который будет стоять под номером 2, т.е. мне нужно, чтобы в столбце nomer все значения > или = 2 увеличились на 1. Соответственно тоже самое если я удалю сотрудника под номером 2, у всех значений > 2 отнять 1. Поначалу я начал писать скрипт где в цикле php запрашивал всех у кого >= 2, прибавлял 1, клал в базу и запоминал последнее значение, запрашивал у кого = 3 прибавлял 1, клал в базу и т.д.. Я конечно запутался, к тому же код получился с жутким количеством запросов к б.д., что плохо, ведь народу может быть и тысяча. Понял что делаю что-то не так, от малого количества знаний/опыта.
Скажите пожалуйста, если данный алгоритм видится вам нормальным, то возможно его выполнить проще, к примеру силами мускула, в духе (запрос из головы) mysql_query ("UPDATE nomer FROM otdel SET nomer+1 WHERE nomer >=2 "); и MySQL сама увеличит все значения на 1. Если вы знаете алгоритм лучше/грамотнее (скорее так и есть), пожалуйста поделитесь.