Quale versione? Cosa CHARACTER SET
? E altri problemi. Prima della versione 5.5, esisteva CHARACTER SET utf8
, che richiede fino a 3 byte per carattere, ma non utf8mb4
, che richiede fino a 4. Con 5,7 (10,2?), il problema è stato "risolto". Nel frattempo, un indice era stato limitato a 767 byte; non è 3072.
Il tuo indice su un VARCHAR(500)
richiede 1500 o 2000 byte.
Ecco la mia lista di 5 cose che si potrebbero fare:http://mysql.rjweb .org/doc.php/limits#767_limit_in_innodb_indexes
Devi scegliere tra di loro in base a quale difetto puoi convivere.