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. See Secção 1.8.3, “Extensões do MySQL 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 MySQL
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
.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.