Wenn Sie schon mit MySQL-Datenbanken gearbeitet haben, wissen Sie, dass man schon bei einer kleinen Datenbanklösung meist nicht an einem Primärschlüssel in den Tabellen vorbei kommt, und sei es nur aus Geschwindigkeitsgründen. Manchmal ist es ein Feld, das von der Anwendung nicht gebraucht wird, häufiger aber ein ID-Feld, das bei einer Rechnungstabelle die Rechnungsnummer oder bei einer Kundentabelle die Kundennummer enthält.

Gemeinsam haben diese Felder, dass es Integer-Feldtypen sind und dass durch die Auto-Increment-Funktion, die man bei der Erstellung der Tabelle als Extra angibt, bei der Anlage jedes neuen Datensatzes das Auto-Increment-Feld um 1 erhöht und automatisch eingetragen wird. Manchmal gibt es aber Gründe, die interne ID-Nummer, die MySQL abgespeichert hat, zu verändern, um einen Sprung in die IDs einzubauen.

Nehmen wir ein Beispiel zum Schmunzeln, das aber häufiger vorkommt: Wenn Ihr Kunde mit der von Ihnen erstellten PHP/MySQL-Lösung zur Rechnungsstellung beginnt, möchte er nicht, dass die erste Rechnungsnummer die 1 ist, weil er sich damit als Neuling im Geschäft oder als kleine Firma zu outen glaubt.

Ein anderer Grund wäre zum Beispiel, wenn die ersten vier Stellen der Rechnungsnummer oder Kundennummer das Kalenderjahr der Anlage angeben sollen und nur der Rest der Rechnungsnummer eine laufende Nummer sein soll. Dann kommt nach der Rechnung Nr. 200912345 als letzte Rechnung im Dezember die Rechnung Nr. 201012346 im Januar des neuen Jahres.

Das erreichen Sie leicht mit dem Befehl:

alter table rechnungen auto_increment=201012346.

Dadurch bekommt die nächste neu angelegte Rechnung die Rechnungs-Nr. 201012346.