phpMyAdmin Datensätze Nummerierung ersetzen mit SQL-Befehl?

...komplette Frage anzeigen

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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


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.

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).

Was möchtest Du wissen?