00 Stimmen

MySQL: Wert für AUTO_INCREMENT zurücksetzen

Frage von Gast | 05.06.2014 um 15:26

Mir ist ein kleines Missgeschick in meiner MySQL Datenbank geschehen. Ich habe einige 10.000 Datensätze irrtümlicherweise hinzugefügt, die ich danach wieder löschen musste.

Leider hatte diese Aktion unter anderem zur Folge, dass der AUTO_INCREMENT-Wert meiner Tabelle extrem hoch ist und neue Datensätze nun eine fünfstellige ID bekommen, obwohl in der Tabelle bisher nur um die 100 Datensätze vorhanden sind.

Gerne würde ich daher den AUTO_INCREMENT-Value der Tabelle wieder zurücksetzen, dass neue Einträge in die Tabelle eine niedrigere ID bekommen. Ist dies irgendwie möglich?

AntwortenPositivNegativ
Avatar
1Beste Antwort1 Stimme

Den Wert für AUTO_INCREMENT kannst du mit folgendem Befehl setzen:

ALTER TABLE tab AUTO_INCREMENT = 100

Wenn du bei MyISAM-Tabellen einen Wert setzt, der kleiner ist, als der höchste Wert, der schon benutzt wird, wird automatisch der kleinst mögliche Wert genommen. Angenommen, der höchste Wert ist 100 und du benutzt "ALTER TABLE tab AUTO_INCREMENT = 10", so würde der AUTO_INCREMENT-Wert bei MyISAM-Tabellen auf 101 gesetzt. Mit "AUTO_INCREMENT = 1" kann man demnach in MyISAM Tabellen immer den Wert auf den kleinst möglichen setzen.

Bei InnoDB-Tabellen ist es nicht erlaubt den Zähler auf einen niedrigeren Wert zu setzen.

Beachte auch: Mit diesem Befehl wird deine komplette Tabelle neu angelegten aufgebaut. Das kann gerade bei größeren Datenmengen viel Zeit kosten. Wenn du aber sowieso nur um die 100 Datensätze in deiner Tabelle hast, sollte das kein großes Problem sein.
05.06.2014 um 20:04

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

MySQL: SELECT 0 statt NULL

Frage | 4 Antworten

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.