Non riesco a creare l'indice su varchar(500)
."La chiave specificata era troppo lunga, la lunghezza massima della chiave è di 1000 byte"
MySQL: Specified key was too long; max key length is 1000 bytes
Non riesco a creare l'indice su varchar(500)
."La chiave specificata era troppo lunga, la lunghezza massima della chiave è di 1000 byte"
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
I caratteri utf-8 non dovrebbero essere di lunghezza variabile (1-4), a seconda del punto di codice Unicode? – Svante
Il numero massimo di byte necessari per un carattere utf8 è 3 e MySQL deve prevedere che tutti i caratteri nel campo siano il numero massimo di byte. – Jrgns
Tranne il numero massimo di byte su UTF-8 è 4 byte. MySQL ha preso questa decisione stupida, stupida, stupida, orribilmente cattiva per rendere utf8 supportante solo 3 byte. Il charset "reale" UTF-8 compatibile è utf8mb4, supportato solo su MySQL 5.6. –
è dato la risposta completa a questa domanda [qui] (http://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-max -key-lunghezza-è-767-byte/1.814.594 # 1.814.594). –
Ecco una linea breve e soluzione completamente funzionante: http://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-max-key-length-is-767-bytes/22873006#22873006 –