Respuestas:
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
Para MySQL 5.7.4 o posterior:
ALTER TABLE mytbl ADD UNIQUE (columnName);
A partir de MySQL 5.7.4, la cláusula IGNORE para ALTER TABLE se elimina y su uso produce un error.
Por lo tanto, asegúrese de eliminar primero las entradas duplicadas ya que la palabra clave IGNORE ya no es compatible.
ALTER
de realizar esto?
ALTER IGNORE
todavía puede dar un error duplicado en la versión MySQL> 5.5 y en InnoDB por razones de seguridad de sus datos. Si está seguro de que mantener la primera de las filas duplicadas es lo correcto, intente set session old_alter_table=1
. No te olvides de ponerlo de nuevo. mysqlolyk.wordpress.com/2012/02/18/…
Simplemente escriba esta consulta en su db phpmyadmin.
ALTER TABLE TableName ADD UNIQUE (FieldName)
P.ej: ALTER TABLE user ADD UNIQUE (email)
Si también desea nombrar la restricción, use esto:
ALTER TABLE myTable
ADD CONSTRAINT constraintName
UNIQUE (columnName);
CREATE UNIQUE INDEX foo ON table_name (field_name)
Debe eliminar los valores duplicados en esa columna antes de ejecutar ese sql. Cualquier valor duplicado existente en esa columna lo llevará al error mysql 1062
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
es la respuesta correcta
la parte insertada
INSERT IGNORE INTO mytable ....
Este código es para resolver nuestro problema al establecer una clave única para la tabla existente
alter ignore table ioni_groups add unique (group_name);
If IGNORE is specified, only the first row is used of rows with duplicates on a unique key, The other conflicting rows are deleted.
Documentos de