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
.