sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

Error:entrada duplicada '' para la clave 'correo electrónico'

En tu mesa cl56-goldeng.users , el campo email se especificó en la creación para no permitir más de 1 del mismo valor. Esto se hace usando el UNIQUE identificador en la creación de tablas en MySQL. Puede ver más sobre el identificador ÚNICO en este enlace.

Tienes 2 opciones que podrías hacer.

  • Primero sería eliminar la restricción única en el email campo. Esto depende completamente de su lógica en su código, pero viendo que los correos electrónicos deberían casi siempre ser único, esto no se sugiere.

Puede soltar una clave única ejecutando el comando:alter table [table-name] drop index [unique-key-index-name];

  • Segundo, sería usar NULL en lugar de una cadena vacía. Mi suposición es que está configurando una cadena vacía cuando el correo electrónico de los usuarios no existe. En este escenario, sería mejor usar NULL y luego compruébelo cuando recupere datos de la base de datos.

Puede insertar un NULL valor usando el NULL identificador en su MySQL declaración, como tal:

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

Y luego busca un NULL valor en cualquier idioma desde el que acceda a estos datos.