Hi,
habe ein Newsboard programmiert bei dem Einträge im Nachhinein durch einen Admin gelöscht werden können. Die Einträge sollen durchnummeriert werden. Speichere ich die Eintragsnr. in der DB, dann gibt es bei löschen von Einträgen Sprünge (sprich: 14 auf 11, wenn 12 und 13 gelöscht werden).
Einfach durchnummerieren in PHP ist auch nix, da die Einträge später über mehrere Seiten verteilt werden und dann für jede Seite neu von 1 an nummeriert werden würde.
Jetzt könnte man ja noch überlegen, nach jedem löschen alle Einträge aus der DB zu lesen und die Eintragsnummern upzudaten, nur wäre das wohl ziemlich aufwändig bzw. würde lange dauern, wenn sich dieses Newsboard mal richtig gefüllt hat und aus mehreren tausend Einträgen besteht.
Daten in einer SQL-DB sind nicht hierarchisch strukturiert. Eine Auto-ID z. B. gibt keine Reihenfolge vor, sondern ist nur unterscheidendes Merkmal. Stell Dir z. B. vor, eine ID sei ein Fremdschlüssel in einer anderen Relation. Wenn Du die die IDs manuell änderst, stimmen die Verknüpfungen nicht mehr. Mir ist kein Mechanismus bekannt, der solche Veränderungen an den Fremdschlüsseln aktualisieren könnte. Normalerweise ist auch für Anwendungen unerheblich, ob das Feld dünn besetzt ist. Wenn Dir das trotzdem wichtig ist, könntest Du ein zusätzliches Attribut mit der Reihenfolge einsetzen. Dort kannst Du manuell Lücken ausschließen.