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

Nomes de tabelas em minúsculas do MySQL no Windows Nomes em maiúsculas no Unix


Extraído de dev.mysql.com :

Para evitar problemas de transferência de dados decorrentes de letras maiúsculas de banco de dados ou nomes de tabela, você tem duas opções:
  • Use lower_case_table_names=1 em todos os sistemas. A principal desvantagem disso é que quando você usa SHOW TABLES ou SHOW DATABASES, você não vê os nomes em suas letras maiúsculas originais.
  • Use lower_case_table_names=0 no Unix e lower_case_table_names=2 no Windows. Isso preserva as letras maiúsculas dos nomes de banco de dados e tabelas. A desvantagem disso é que você deve garantir que suas instruções sempre se refiram ao banco de dados e aos nomes das tabelas com as letras corretas no Windows. Se você transferir suas declarações para o Unix, onde as letras maiúsculas são significativas, elas não funcionarão se as letras estiverem incorretas.

Exceção:Se você estiver usando tabelas InnoDB e estiver tentando evitar esses problemas de transferência de dados, você deve definir lower_case_table_names como 1 em todas as plataformas para forçar os nomes a serem convertidos em minúsculas.

Se você planeja definir a variável de sistema lower_case_table_names para 1 no Unix, você deve primeiro converter seu banco de dados antigo e nomes de tabela para minúsculas antes de parar o mysqld e reiniciá-lo com a nova configuração de variável.