Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL VARCHAR(255) UTF8 é muito longo para chave, mas o comprimento máximo é de 1000 bytes


Se você estiver usando utf8mb4 e tiver índices exclusivos em colunas varchar com mais de 191 caracteres, será necessário ativar innodb_large_prefix para permitir colunas maiores em índices, porque utf8mb4 requer mais espaço de armazenamento que utf8 ou latin1 . Adicione o seguinte ao seu arquivo my.cnf.
[mysqld]
innodb_file_format=barracuda
innodb_file_per_table=1
innodb_large_prefix=1
init_connect='SET collation_connection = utf8mb4_unicode_ci; SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

Mais informações sobre o porquê e o futuro na documentação do MySQL 5.7 :

Resumindo, o limite existe apenas para compatibilidade e será aumentado em versões futuras.