id neu setzen
Verfasst: 28.12.2003 19:40
Hallo 
Ich bastel gerade an einem kleinen Script, was ganz simpel Daten speichert und bei Bedarf in einer Liste ausgibt. Jedes einzelne Element bekommt eine ID, welche bei dem Einfüger in die DB mittels auto_increment immer um 1 erhöht wird. Sagen wir, ich habe 5 Elemente und möhte Element 3 löschen, also wird ID 3 gelöscht, bleibt über 1,2,4,5. Jetzt ordne ich die ID's. So dass das eine durchgehende Reihenfolge 1,2,3,4 existiert. Ähnlich verhält es sich beim Einfügen. Ich habe 5 Elemente und möchte zwischen Element 2 und Element 3 ein Neues einfügen. Also nehme ich per (war meine Überlegung und so habe ich es zunächst einmal realisiert) die nachfolgenden Elemente her, erhöhe die ID um jeweils 1 und schaffe so Platz für das neue Element.
Meine eigentliche Frage: Kann ich sowas direkt über eine SQL-Abfrage realisieren oder ist ein kleiner "Umweg" über PHP (Schleife) notwendig, weil es ganz einfach nicht anders funktioniert?
Postet jetzt bitte keinen kompletten Quelltext zur Lösung
Bissl will ich ja auch noch basteln.

Ich bastel gerade an einem kleinen Script, was ganz simpel Daten speichert und bei Bedarf in einer Liste ausgibt. Jedes einzelne Element bekommt eine ID, welche bei dem Einfüger in die DB mittels auto_increment immer um 1 erhöht wird. Sagen wir, ich habe 5 Elemente und möhte Element 3 löschen, also wird ID 3 gelöscht, bleibt über 1,2,4,5. Jetzt ordne ich die ID's. So dass das eine durchgehende Reihenfolge 1,2,3,4 existiert. Ähnlich verhält es sich beim Einfügen. Ich habe 5 Elemente und möchte zwischen Element 2 und Element 3 ein Neues einfügen. Also nehme ich per (war meine Überlegung und so habe ich es zunächst einmal realisiert) die nachfolgenden Elemente her, erhöhe die ID um jeweils 1 und schaffe so Platz für das neue Element.
Meine eigentliche Frage: Kann ich sowas direkt über eine SQL-Abfrage realisieren oder ist ein kleiner "Umweg" über PHP (Schleife) notwendig, weil es ganz einfach nicht anders funktioniert?
Postet jetzt bitte keinen kompletten Quelltext zur Lösung
