sql >> Databáze >  >> RDS >> Mysql

Jak zacházet s chybou u duplicitních záznamů?

Chcete-li zkontrolovat tuto konkrétní chybu, musíte najít kód chyby . Je to 1062 pro duplicitní klíč. Pak použijte výsledek z errno() pro srovnání s:

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

Poznámka ke stylu programování
Vždy byste se měli snažit vyhnout se používání magických čísel (Já vím, byl jsem to já, kdo to uvedl v této odpovědi). Místo toho můžete přiřadit známý kód chyby (1062 ) na konstantu (např. MYSQLI_CODE_DUPLICATE_KEY ). To usnadní údržbu vašeho kódu jako podmínky v if příkaz je stále čitelný za několik měsíců, kdy význam 1062 se vytratil z paměti :)



  1. přístup odepřen uživateli @ 'localhost' do databáze ''

  2. Jak zjistím, která transakce způsobuje stav zámku Čekání na metadata tabulky?

  3. Jak zamaskovat Cassandru pomocí IRI FieldShield

  4. Pochopení typů a formátů MapReduce