Najlepszym rozwiązaniem jest dodanie kolejnego pola „ordering”, w którym można przechowywać domyślnie int ID, a podczas przestawiania wierszy można zamieniać wartościami ordering pomiędzy tymi wierszami. W zapytaniu wykonasz ZAMÓWIENIE, zamawiając ASC/DESC