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

Evitar entradas de SQL duplicadas

CREATE UNIQUE INDEX idxname ON tablename (fieldname);

Agregar este índice garantizará que no haya entradas duplicadas para fieldname el campo se registrará en tablename mesa.

Obtendrá un error de MySQL con el segundo cliente. Debe manejar esto en su código PHP y volver a colocar el formulario (en lugar de solo mostrar el mensaje de error).

Otra posibilidad (para situaciones más complejas) es el LOCK funcionalidad. Si bloquea la tabla antes de verificar y luego inserta su registro, se retrasará una operación concurrente (en la segunda ventana del navegador) hasta que libere los bloqueos. Entonces el registro ya estará guardado, por lo que el segundo script PHP lo verá y manejar la situación.