sql >> Base de Datos >  >> RDS >> Mysql

evitando la inserción simultánea de múltiples ID iguales en mysql

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 .