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

mysql case sensitive em utf8_general_ci


É melhor usar o utf8_bin collation porque, embora não seja possível em UTF-8, no caso geral é teoricamente possível (como acontece com UTF-16) para o mesmo string a ser representada por diferente codificações, que uma comparação binária não entenderia, mas um agrupamento binário sim. Conforme documentado em Conjuntos de caracteres Unicode :

Portanto, se as comparações envolvendo essas colunas sempre diferencia maiúsculas de minúsculas, você deve definir o agrupamento da coluna para utf8_bin (para que eles permaneçam sensíveis a maiúsculas e minúsculas, mesmo que você esqueça de especificar o contrário em sua consulta); ou se apenas consultas particulares diferenciam maiúsculas de minúsculas, você pode especificar que o utf8_bin collation deve ser usado usando o COLLATE palavra-chave:
SELECT * FROM table WHERE id = 'iSZ6fX' COLLATE utf8_bin