auto_increment

Die MySQL-Funktion auto_increment sorgt dafür, dass jede Zeile in einer Tabelle eine eindeutige ID erhält. 

Gesteuert wird diese Funktion über die Systemvariablen

  • auto_increment_increment = 1
  • auto_increment_offset = 1

auto_increment_increment bestimmt, wieviel Stellen zwischen jeder Zeile sind und auto_increment_offset, mit welcher Ziffer begonnen wird. Standard ist hier jeweils 1. Daraus ergibt sich dann die Reihenfolge 1,2,3 und so weiter.

Wäre z. B.

  • auto_increment_increment = 4
  • auto_increment_offset = 1

eingestellt, wäre die Zählreihenfolge 1,5,9,13 und so weiter.

Da Sie sich auf einer Shared-Hosting-Plattform befinden, gibt es nicht nur eine Maschine sondern mehrere, die permanent untereinander synchronisiert werden. Wie verhindert man dann aber in diesem Fall eine doppelte Vergabe von Zeilen-IDs?

In dem man jedem Server eine andere Einstellung der Offset-Variablen vergibt. Sind es z. B. zwei Server, dann würde folgende Einstellung dafür sorgen, dass der eine nur gerade und der andere nur ungerade Zeilen-IDs vergibt.

Server 1:

  • auto_increment_increment = 2
  • auto_increment_offset = 1

Server 2:

  • auto_increment_increment = 2
  • auto_increment_offset = 2