1071: Specified key was too long; max key length is 767 bytes
MySQLO que significa?
O índice (ou chave) que está sendo criado excedeu o comprimento máximo permitido em bytes. Especialmente com character sets multibyte, índices VARCHAR atingem esse limite rapidamente.
Por que acontece?
Um índice em uma coluna VARCHAR larga com utf8mb4 (4 bytes por caractere); um row format antigo do InnoDB (REDUNDANT/COMPACT; no 5.7 e anteriores também innodb_large_prefix desabilitado); o comprimento total de um índice composto de várias colunas excedendo o limite; uma primary key grande.
Como resolver
Reduza o comprimento da coluna indexada ou use um prefix index: CREATE INDEX idx ON my_table (my_column(191)); Passe para o limite de 3072 bytes com o row format DYNAMIC/COMPRESSED (DYNAMIC é o padrão no MySQL 8.0; innodb_large_prefix foi removido no 8.0 e só é necessário no 5.7 e anteriores). Se necessário, revise o character set/comprimento da coluna.