Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como lidar com erros de entradas duplicadas?


Para verificar esse erro específico, você precisa encontrar o código de erro . É 1062 para chave duplicada. Em seguida, use o resultado de errno() para comparar com:
mysqli_query('INSERT INTO ...');
if (mysqli_errno() == 1062) {
    print 'no way!';
}

Uma observação sobre o estilo de programação
Você deve sempre evitar o uso de números mágicos (Eu sei, fui eu que o apresentei nesta resposta). Em vez disso, você pode atribuir o código de erro conhecido (1062 ) para uma constante (por exemplo, MYSQLI_CODE_DUPLICATE_KEY ). Isso tornará seu código mais fácil de manter como a condição no if declaração ainda é legível em alguns meses quando o significado de 1062 sumiu da memória :)