sql >> Database teknologi >  >> RDS >> Mysql

Hvordan håndterer man fejl for duplikerede poster?

For at tjekke for denne specifikke fejl skal du finde fejlkode . Det er 1062 for dubletnøgle. Brug derefter resultatet fra errno() at sammenligne med:

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

En note om programmeringsstil
Du bør altid forsøge at undgå brugen af ​​magiske tal (Jeg ved det, jeg var den, der introducerede det i dette svar). I stedet kan du tildele den kendte fejlkode (1062 ) til en konstant (f.eks. MYSQLI_CODE_DUPLICATE_KEY ). Dette vil gøre din kode nemmere at vedligeholde som betingelsen i if erklæringen kan stadig læses om et par måneder, når betydningen af ​​1062 er falmet ud af hukommelsen :)



  1. PHP-forbindelse mislykkedes:SQLSTATE[HY000] [2002] Forbindelsen blev afvist

  2. En oversigt over SQL Join-typer med eksempler

  3. Sådan installeres MariaDB på CentOS 7 / RHEL 7

  4. Hvordan får jeg ID'et for flere indsatte rækker i MySQL?