sql >> Databáze >  >> Database Tools >> phpMyAdmin

Chyba:Duplicitní záznam '' pro klíč 'e-mail'

Na vašem stole cl56-goldeng.users , pole email bylo při vytváření specifikováno, aby do něj nebylo povoleno více než 1 stejné hodnoty. To se provádí pomocí UNIQUE identifikátor při vytváření tabulky v MySQL. Další informace o UNIQUE identifikátoru naleznete na tomto odkazu.

Máte 2 možnosti, které můžete udělat.

  • Nejprve by bylo odstranit jedinečné omezení u email pole. To zcela závisí na vaší logice v kódu, ale vidět jako e-maily by téměř mělo být vždy jedinečný, to se nedoporučuje.

Jedinečný klíč můžete zrušit spuštěním příkazu:alter table [table-name] drop index [unique-key-index-name];

  • Zadruhé by bylo použít NULL místo prázdného řetězce. Můj předpoklad je, že nastavujete prázdný řetězec, když e-mail uživatele neexistuje. V tomto scénáři by bylo lepší použít NULL a poté to zkontrolujte při načítání dat z databáze.

Můžete vložit NULL hodnotu pomocí NULL identifikátor ve vašem MySQL prohlášení, jako je tento:

INSERT INTO users (firstName,lastName,email)
  VALUES ('Bob','Ross',NULL);

A pak zkontrolujte NULL hodnotu v jakémkoli jazyce, ze kterého k těmto datům přistupujete.



  1. #1146 - Tabulka 'phpmyadmin.pma_recent' neexistuje

  2. Dotaz Mysql funguje v phpmyadmin, ale ne v php (k dnešnímu dni)

  3. Kde phpMyAdmin ukládá uživatelské heslo phpMyAdmin?

  4. Přístup k požadovanému objektu je dostupný pouze z místní sítě phpmyadmin