Automatyczne generowanie kluczy jest złożonym tematem, ale w skrócie można powiedzieć, że baza danych może wybierać nowe klucze, jeśli ma ona specjalną tabelę zarezerwowaną na potrzeby generowania kluczy. W tej tabeli w jednej kolumnie musi znajdować się lista nieużywanych kluczy (kolumna przyrostowa), a w drugiej kolumnie lista uporządkowanych numerów zaczynająca się od 1 (kolumna tożsamości). Gdy baza danych potrzebuje nowego klucza, pobiera ona klucz z wiersza zawierającego wartość 1 w kolumnie tożsamości, a następnie przygotowuje kolejny nowy klucz.
Gdy w bazie danych jest potrzebny nowy klucz unikalny, w kolumnie tożsamości jest wyszukiwany wiersz z wartością 1. Wartość kolumny przyrostowej tego wiersza to następny dostępny klucz. Baza danych korzysta z tego klucza i aktualizuje tabelę, tak aby następnym razem dostępny był nowy klucz.
| Kolumna tożsamości | Kolumna przyrostowa |
|---|---|
| 3 | 78 |
| 4 | 3 |
| 1 | 65 |
| 2 | 12 |
Po pobraniu następnego dostępnego klucza tabela jest aktualizowana i przygotowywana do następnej sytuacji, gdy będzie potrzebny klucz. Baza danych może także pobrać wiele kluczy za jednym razem, pobierając wartości kolumny przyrostowej z więcej niż jednego wiersza.
W skrócie, aby automatyczne generowanie kluczy działało, wymagane jest jedynie skonfigurowanie tabeli generowania kluczy z dwoma kolumnami: kolumną klucza podstawowego do używania jako kolumna tożsamości i kolumną do przechowywania następnego dostępnego klucza. Ta tabela musi być zainicjowana z jednym rekordem, w którym wartość kolumny tożsamości wynosi 1 a wartość kolumny przyrostowej jest pierwszym dostępnym kluczem. Po skonfigurowaniu takiej tabeli można korzystać z funkcji automatycznego generowania kluczy.