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

¿Cómo manejar el error de entradas duplicadas?

Para verificar este error específico, debe encontrar el código de error . Es 1062 por duplicado de llave. Luego use el resultado de errno() para comparar con:

mysqli_query('INSERT INTO ...');
if (mysqli_errno() == 1062) {
    print 'no way!';
}

Una nota sobre el estilo de programación
Siempre debe tratar de evitar el uso de números mágicos (Lo sé, fui yo quien lo introdujo en esta respuesta). En su lugar, podría asignar el código de error conocido (1062 ) a una constante (por ejemplo, MYSQLI_CODE_DUPLICATE_KEY ). Esto hará que su código sea más fácil de mantener como condición en el if la declaración todavía se puede leer en unos meses cuando el significado de 1062 se ha desvanecido de la memoria :)