Quiere usar una secuencia .
Dos advertencias:
-
El
AUTO_INCREMENT
la función descrita en el artículo no es estándar y puede generar problemas de portabilidad al pasar a una base de datos diferente. -
Si un
INSERT
se aborta, todavía se consume un número de la secuencia, por lo que puede terminar con agujeros en la secuencia. Si eso es inaceptable, use una secuencia generada automáticamente para la clave principal (sustituta) y agregue un mapa separado de esa clave al número de secuencia "oficial", haciendo cumplir la unicidad en el índice de esa tabla.
La alternativa es hacer cumplir UNIQUE
en la base de datos, use un TRANSACTION ISOLATION LEVEL
apropiado y agregue la lógica de la aplicación para manejar la falla de INSERT
.