Mysql auto increment auf 1 zurücksetzen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Vielleicht kommst Du mit

alter table <tbl> AUTO_INCREMENT=<val>;

weiter, vermutlich darf der Wert nicht unterhalb des größten verwendeten liegen.

So kann man normalerweise einen abweichenden Startwert setzen. Ebenso kann man auch explizit einen Wert für neue Einträge beim Autoincrement angeben, sofern dieser größer als der bisher größte ist.

Genau dafür ist das AutoInkrement NICHT gedacht!

Es ist dafür gedacht, lebenslang eindeutige Nummern zu generieren. Wenn Du lückenlose Nummern willst (wozu denn das bitte?), dann musst Du das selber machen.

Grund:

Stell dir vor irgendwer anders referenziert auf die 500. Du löscht die 500 und statt einer 501 generierst du als nächstes einen neuen Datensatz wieder mit Id 500, dann referenziert der irgendweranders jetzt plötzlich komplett falsch!

Das ist wie: Personalausweisnummer nochmal vergeben, wenn jemand stirbt.