Суть в том, чтобы поиметь соответствие старых и новых ID, поэтому:
0) Добавь в новую таблицу временно дополнительное поле OLD_ID;
1) Сделай INSERT INTO [новая_таблица](ее поля кроме поля ID, OLD_ID) SELECT *, ID FROM [старая табла]
При этом ты "застолбишь" диапазон ID в новой таблице. В поле OLD_ID пиши старый ID, т.е. ID из старой таблицы
А теперь, когда у тебя есть соответствие NEW_ID <-> OLD_ID, то достаточно сделать
UPDATE NewTable
SET Parent = (SELECT ID FROM NewTable WHERE OLD_ID=Parent)
|
|
В общем типа такого...