Hola Gnzsoloyo, gracias por tu interés.
Todos los apellidos son únicos en la tabla, no se repiten, salvo que algunos tienen acento y otros no. Y posiblemente hayan vocales con diéresis, circunflejos, ç, ñ, etc.
Per ejemplo, existen registros así:
Abr
eu
Abr
éu
Pero no hay ningún registro duplicado tipo:
Abr
eu
Abr
eu
La diferencia del acento en los apellidos se debe a que algunos siguen la ortografía del idioma español, pero otros provienen de otros idiomas como el francés o el catalán, donde las reglas de acentuación son diferentes.
He probado de cambiar el cotejamiento de la columna 'palabra' de 'utf8_spanish_ci' a 'utf8_bin' y entonces admite sin problemas indexar la columna como UNIQUE.
Pero en utf8_bin, al buscar por '%eu' me sale sólo "Abreu" y no aparece "Abréu".
Si intento hacer lo mismo en 'utf8_spanish_ci', entonces aparece el error:
Código:
ALTER TABLE `Sql11XXX_1`.`Apellidos` ADD UNIQUE `apellido` ( `apellido` )
MySQL ha dicho:
#1062 - Duplicate entry 'Abréu' for key 2
Supongo que se debe a que en 'utf8_spanish_ci', con o sin acento da igual, para MySQL es un registro duplicado.
Esta tabla es para investigación genealógica, raíces de los apellidos, etimología, estadísticas y cosas así. Consta de una sola tabla, no se relaciona con ninguna otra tabla. Parece todo muy simple, pero la dificultad es que hay un millón de registros y que a veces puede tener picos altos de personas haciendo diferentes consultas al mismo tiempo como cuando se utilice en cursos sobre el tema.