O suporte de prefixo e os comprimentos dos prefixos dependem do mecanismo de armazenamento. Por exemplo, um prefixo pode ter até 767 bytes para tabelas InnoDB ou 3072 bytes se a opção innodb_large_prefix estiver habilitada. Para tabelas MyISAM, o limite de comprimento do prefixo é 1000 bytes.
Se você precisa criar um índice em um campo com mais de 255 caracteres, você precisa modificar os 3 parâmetros a seguir:
Arquivo my.cnf
Código: Selecionar todos
innodb_file_format=barracuda
innodb_file_per_table=true
Localizar:
Código: Selecionar todos
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Código: Selecionar todos
ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
Após ajustes importe o banco