Du vil bruge en sekvens .
To forbehold:
-
AUTO_INCREMENT
Funktionen beskrevet i artiklen er ikke-standard og kan give problemer med overførsel, når du flytter til en anden database. -
Hvis en
INSERT
afbrydes, forbruges et tal fra sekvensen stadig, så du kan ende med huller i sekvensen. Hvis det er uacceptabelt, skal du bruge en autogenereret sekvens for den primære (surrogat-) nøgle og tilføje et separat kort fra den nøgle til det "officielle" sekvensnummer, hvilket håndhæver entydighed i tabellens indeks.
Alternativet er at håndhæve UNIQUE
ness i databasen, skal du bruge et passende TRANSACTION ISOLATION LEVEL
og tilføj applikationslogik for at håndtere fejl ved INSERT
.