Мозг уже кипит, что тут не так?
может легче воспользоваться тупо сортировкой. доп поле ord и в нем хранить индекс сортировки. еще как более удобное решение для каталогов советую воспользоваться nested sets
Зачем вообще менять ID? Как вам уже написали Максим Гречушников и bears , добавьте дополнительное поле, куда и сохраняйте порядковый номер