Sie möchten eine Sequenz verwenden .
Zwei Vorbehalte:
-
Der
AUTO_INCREMENT
Die im Artikel beschriebene Funktion ist nicht standardmäßig und kann beim Wechsel zu einer anderen Datenbank zu Portabilitätsproblemen führen. -
Wenn ein
INSERT
abgebrochen wird, wird immer noch eine Zahl aus der Sequenz verbraucht, so dass Sie am Ende Löcher in der Sequenz haben können. Wenn dies nicht akzeptabel ist, verwenden Sie eine automatisch generierte Sequenz für den Primärschlüssel (Ersatzschlüssel) und fügen Sie der "offiziellen" Sequenznummer eine separate Zuordnung dieses Schlüssels hinzu, um die Eindeutigkeit im Index dieser Tabelle zu erzwingen.
Die Alternative besteht darin, UNIQUE
zu erzwingen ness in der Datenbank, verwenden Sie einen geeigneten TRANSACTION ISOLATION LEVEL
und fügen Sie Anwendungslogik hinzu, um INSERT
Fehler zu behandeln .