Vous souhaitez utiliser une séquence .
Deux mises en garde :
-
Le
AUTO_INCREMENT
la fonctionnalité décrite dans l'article n'est pas standard et peut entraîner des problèmes de portabilité lors du passage à une autre base de données. -
Si un
INSERT
est abandonné, un numéro de la séquence est encore consommé, vous pouvez donc vous retrouver avec des trous dans la séquence. Si cela est inacceptable, utilisez une séquence générée automatiquement pour la clé primaire (de substitution) et ajoutez une carte distincte de cette clé au numéro de séquence "officiel", en appliquant l'unicité dans l'index de cette table.
L'alternative est d'appliquer UNIQUE
ness dans la base de données, utilisez un TRANSACTION ISOLATION LEVEL
approprié et ajoutez une logique d'application pour gérer l'échec de INSERT
.