Um eine automatische Schlüsselerstellung einzurichten, müssen Sie zunächst verstehen, wie dieses Prinzip funktioniert. Für die Verwendung automatischer Schlüsselerstellung muss die Datenbank eine Tabelle zu diesem Zweck bereitgestellt haben. Diese Tabelle enthält zwei Spalten:
Wenn die Datenbank einen neuen eindeutigen Schlüssel benötigt, sucht Sie die Zeile mit einem Wert von 1 in der Identitätsspalte. Der Wert der Inkrementor-Spalte dieser Zeile enthält den nächsten verfügbaren Schlüssel. Die Datenbank verwendet diesen Schlüssel und aktualisiert die Tabelle, damit beim nächsten Mal ein neuer Schlüssel zur Verfügung steht.
Hier sehen Sie ein Beispiel einer Schlüsselerstellungstabelle. Was ist der nächste verfügbare Schlüssel für diese Datenbank? Die Antwort finden Sie in der untenstehenden Tabelle.
Identitätsspalte | Inkrementor-Spalte |
---|---|
3 | 78 |
4 | 3 |
1 | 65 |
2 | 12 |
Der nächste verfügbare Schlüssel in dieser Tabelle ist 65, da dieser Schlüssel (in der Inkrementor-Spalte) sich in der gleichen Zeile befindet wie der Wert 1 in der Identitätsspalte.
Nachdem der nächste verfügbare Schlüssel aus der Tabelle abgerufen wurde, wird die Tabelle für das Abrufen des nächsten Schlüssels aktualisiert. Die Datenbank kann also mehrere Schlüssel auf einmal abrufen, indem Sie den Wert der Inkrementor-Spalte für mehr als eine Zeile abruft.
Kurz gesagt, damit die automatische Schlüsselerstellung funktioniert, benötigen Sie lediglich eine Schlüsselerstellungstabelle mit zwei Spalten: einer Primärschlüsselspalte, die als Identitätsspalte verwendet wird, und einer Spalte zum Speichern des nächsten verfügbaren Schlüssels. Diese Tabelle muss mit einem Datensatz initialisiert werden, dessen Identitätsspaltenwert 1 beträgt, und dessen Inkrementorspaltenwert dem ersten verfügbaren Schlüssel entspricht, der verwendendet werden soll. Nachdem Sie diese Tabelle eingerichtet haben, sind Sie in der Lage, die automatische Schlüsselerstellung zu verwenden.