No puedo crear el índice en varchar(500)
."La clave especificada era demasiado larga; la longitud máxima de la clave es 1000 bytes"
MySQL: Specified key was too long; max key length is 1000 bytes
No puedo crear el índice en varchar(500)
."La clave especificada era demasiado larga; la longitud máxima de la clave es 1000 bytes"
MySQL: Specified key was too long; max key length is 1000 bytes
latin1 = 1 byte = 1 character
uft8 = 3 byte = 1 character
gbk = 2 byte = 1 character
¿No deberían los caracteres utf-8 ser de longitud variable (1-4), dependiendo del punto de código Unicode? – Svante
El número máximo de bytes necesarios para un carácter utf8 es 3 y MySQL debe prever que todos los caracteres en el campo sean el número máximo de bytes. – Jrgns
Excepto que la cantidad máxima de bytes en UTF-8 es de 4 bytes. MySQL tomó esta decisión estúpida, estúpida, estúpida y horriblemente malvada para hacer que utf8 solo sea compatible con 3 bytes. El juego de caracteres "real" UTF-8 es utf8mb4, solo compatible con MySQL 5.6. –
se da la respuesta completa a esta pregunta [aquí] (http://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-max -key-length-is-767-bytes/1814594 # 1814594). –
Aquí hay una línea corta y una solución completamente funcional: http://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-max-key-length-is-767-bytes/22873006#22873006 –