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?
Ähnliche Themen
MySQL: Daten aus Tabelle löschen - Unterschied zwischen TRUNCATE, DELETE und DROP
Tutorial | 0 Kommentare
MySQL/PHP: ID vom letzten INSERT auslesen
Info | 0 Kommentare
MySQL: 3 Wege um Definitionen und Aufbau einer Tabelle anzuzeigen
Info | 0 Kommentare
MySQL: Zeilenumbrüche in MySQL
Tipp | 0 Kommentare
MySQL: Aktuelles Datum oder Zeit in Spalte schreiben
Tutorial | 0 Kommentare
SQLite: AUTOINCREMENT-Feld zurücksetzen
Frage | 1 Antwort
MySQL: Minimale Wortlänge bei der Volltextsuche ändern
Tipp | 1 Kommentar
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.
Den Wert für AUTO_INCREMENT kannst du mit folgendem Befehl setzen:
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