Sie möchten eine Sequenz verwenden .
Zwei Vorbehalte:
-
Der
AUTO_INCREMENTDie im Artikel beschriebene Funktion ist nicht standardmäßig und kann beim Wechsel zu einer anderen Datenbank zu Portabilitätsproblemen führen. -
Wenn ein
INSERTabgebrochen 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 .