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

Existe um agrupamento utf8_unicode_cs?


Me deparei com o mesmo problema e depois de pesquisar no Google, parece que o MySQL não o inclui. Para "simular", como você diz,

1) Para garantir a diferenciação entre maiúsculas e minúsculas no banco de dados:defina a coluna da tabela para utf8_bin agrupamento
Isso permite:
  • SELECTs estritos:SELECT "Joe" NÃO retornará linhas com "joe" / "joE" / "jOe" / etc
  • índice UNIQUE estrito:uma coluna com um índice UNIQUE tratará as diferenças de maiúsculas e minúsculas como valores diferentes. Por exemplo, se um agrupamento utf8_unicode_ci for usado, inserir "Joe" em uma tabela que já tenha "joe" acionará um erro de "Chave duplicada". Se ut8_bin for usado, inserir "Joe" funcionará bem.

2) Para obter a ordenação adequada nos resultados:adicione o agrupamento à consulta SQL:
SELECT ... ORDER BY column COLLATE utf8_unicode_ci