Caso Sensitivo nos Nomes


No MySQL, bancos de dados e tabelas correspondem a diretórios e arquivos em seus diretórios. Consequentemente, o caso sensitivo no sistema operacional irá determinar o caso sensitivo nos nomes de bancos de dados e tabelas. Isto significa que nomes de bancos de dados e tabelas são caso sensitivo na maioria dos Unix e caso insensitivo no Windows. Uma exceção proeminente aqui é o Mac OS X, quando o o sistema de arquivos padrão HPS+ está sendo usado. No entanto o Mac OS X também suporta volumes UFS, esle são caso sensitivo no Mac OS X assim como são no Unix. Leia "Extensões do MariaDB para o Padrão SQL-92".

NOTA: Apesar de nomes de bancos e tabelas serem caso insensitivo no Windows, você não deve fazer referência a um certo banco de dados ou tabela utilizando casos diferentes na mesma consulta. A consulta a seguir não deve funcionar porque ela chama uma tabela como minha_tabela e outra como MINHA_TABELA.

mysql> SELECT * FROM minha_tabela WHERE MINHA_TABELA.col=1;

Nomes de colunas não são caso sensitivo em todas as circunstâncias.

Aliases nas tabelas são caso sensitivo. A consulta seguinte não deve funcionar porque ela faz referência ao alias como a e como A.

mysql> SELECT nome_campo FROM nome_tabela AS a
 WHERE a.nome_campo = 1 OR A.nome_campo = 2;

Se você tem um problema para lembrar o caso usado para os nomes de tabelas, adote uma convenção consistente, como sempre criar bancos de dados e tabelas utilizando nomes em minúsculas.

Uma maneira para evitar este problema é iniciar o mysqld com -O lower_case_nome_tabelas=1. Por padrão esta opção é 1 no Windows e 0 no Unix.

Se lower_case_nome_tabelas for 1, o MariaDB irá converte todos os nomes de tabelas para minúsculo no armazenamento e pesquisa. (A partir da versão 4.0.2, esta opção também se aplica ao nome do banco de dados. A partir da 4.1.1 isto também se aplica a alias de tabelas). Perceba que se você alterar esta opção, será necessário converter primeiramente seus nomes de tabelas antigos para minúsculo antes de iniciar o mysqld.

Se você mover os arquivos MyISAM do Windows pare o Unix, você pode, em alguns casos, precisar usar a ferramenta mysql_fix_extensions para corrigir o caso ad extensão do arquivo em cada diretório de banco de dados específico (.frm em letra minúscula, .MYI e .MYD em letras maiúsculas). mysql_fix_extensions pode ser encontado no subdiretório scripts.

Retornar