Frage von akin2000, 37

phpMyAdmin Datensätze Nummerierung ersetzen mit SQL-Befehl?

Hey,

in meiner Datenbank sind alle Datensäte gut nummeriert.... 1,2,3,4,5,...30 Nun hatte ich beispielsweise Datensatz 14 versehentlich gelöscht .... Also ...12,13,15,16....liegt nun als Reihenfolge vor.Wie kann ich mit einem SQL-Befehl die Nummerierung wieder Verbessern, dass es 1-29 nummeriert wird ?

Danke im Voraus !

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von RakonDark, 32

ich mach es immer sehr entspannend mit einer neuen tabelle wo autoincrement ist , da ich so einige lücken hab setzt es dann auch gleich den autoindex richtig

insert into neuetabelle select '',feld2,feld3,feld4 from altetabelle order by feld1 asc


Kommentar von akin2000 ,

Danke

Antwort
von wotan38, 11

Das ist zwar einfach möglich, datentechnisch aber großer Unfug. Keiner, der von Datenbanken eine Ahnung hat, würde sowas machen. Das ist so, als ob man in einer Straße beim Abriss eines Gebäudes alle Hausnummern neu vergeben würde.

Es gibt natürlich Ausnahmen: Wenn jemand eine Datenbank zum Herumspielen hat und es keine Rolle spielt, wenn die Datenbank mal hinübergeht.

Einen, den so eine Lücke in der Nummerierung stört, würde ich niemals an meine Datenbank lassen. Dieser hat nämlich grundlegende Zusammenhänge der Funktionsweise einer Datenbank noch nicht verstanden.

Antwort
von Robinson97, 20

Das machst du wie @RakonDark schon erwähnt hat mit dem Befehl AUTO_INCREMENT beim erstellen einer neuen Tabelle. Ein gutes Beispiel findest du hier:

http://www.w3schools.com/sql/sql_autoincrement.asp

Antwort
von derobert, 10

Das ist nicht der sinn einer Autoincrement Spalte. Diese ist nunmal fortlaufend. Die ist dafür da einen datensatz immer 100 prozentig zu identifizieren. Beschäftige dich mit Normalisierung und du wirst feststellen das dein vorhaben all deine daten unbrauchbar machen kann. Spätestens wenn du die ai spalte als fk in einer anderen tabelle nutzt. Dann den pk und fk in jeder tabelle zu ändern ist noch viel mehr unsinniger.

Erstell für dein vorhaben eine eigene spalte in der du durchnummerierrn kannst und lass die ai spalte wie die ist ( lückenhaft).

Keine passende Antwort gefunden?

Fragen Sie die Community