Ich habe eine Tabelle mit einem Feld sort_id
. In diesem Feld befinden sich Zahlen von 1 bis n, die die Reihenfolge der Datensätze festlegen. Nun möchte ich einige Elemente löschen und anschließend die Tabelle neu ordnen. Dazu brauche ich eine Abfrage, die die Lücken "findet" und die Reihenfolge ändert. sort_id
Feld entsprechend den Änderungen.
Natürlich könnte ich so etwas tun:
SELECT sort_id FROM table WHERE id = 5
Dann speichern Sie die sort_id und danach:
DELETE FROM table WHERE id = 5
UPDATE table SET sort_id = sort_id - 1 WHERE sort_id > {id from above}
Aber ich würde die Neuordnung gerne in einem Schritt durchführen.