set @pk:=0;
update
your_table
set [email protected]:[email protected]+1
order by pk; <-- order by original pk
Moim zdaniem posiadanie dużego klucza zastępczego jest w porządku. Prawdopodobnie nie wykorzystasz całej maksymalnej dozwolonej liczby całkowitej. Zastanów się, czy możesz podwoić to za pomocą niepodpisanego.