Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да се справим с грешката за дублиращи се записи?

За да проверите за тази конкретна грешка, трябва да намерите код на грешка . Това е 1062 за дублиран ключ. След това използвайте резултата от errno() за сравнение с:

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

Бележка относно стила на програмиране
Винаги трябва да се стремите да избягвате използването на магически числа (Знам, аз бях този, който го представи в този отговор). Вместо това можете да зададете известния код за грешка (1062 ) към константа (напр. MYSQLI_CODE_DUPLICATE_KEY ). Това ще направи кода ви по-лесен за поддържане като условие в if изявлението все още може да се чете след няколко месеца, когато значението на 1062 изчезна от паметта :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не мога да се свържа с локален MySQL сървър чрез сокет '/tmp/mysql.sock

  2. Как да накарам MySQL да обработва UTF-8 правилно

  3. единична фиксирана таблица с множество колони срещу гъвкави абстрактни таблици

  4. Проверете дали MySQL таблицата съществува, без да използвате избор от синтаксис?

  5. Възстановяване на достъп до изгубена парола за MySQL за PHPMyAdmin на WAMP