Mysql
 sql >> Base de données >  >> RDS >> Mysql

Noms de table MySQL en minuscules dans Windows Noms en majuscules sous Unix

Extrait de dev.mysql.com :

Pour éviter les problèmes de transfert de données liés à la casse des noms de bases de données ou de tables, vous avez deux options :

  • Utilisez lower_case_table_names=1 sur tous les systèmes. Le principal inconvénient est que lorsque vous utilisez SHOW TABLES ou SHOW DATABASES, vous ne voyez pas les noms dans leur casse d'origine.
  • Utilisez lower_case_table_names=0 sous Unix et lower_case_table_names=2 sous Windows. Cela préserve la casse des noms de base de données et de table. L'inconvénient est que vous devez vous assurer que vos instructions font toujours référence à vos noms de base de données et de table avec la casse correcte sous Windows. Si vous transférez vos instructions vers Unix, où la casse est importante, elles ne fonctionneront pas si la casse est incorrecte.

Exception :si vous utilisez des tables InnoDB et que vous essayez d'éviter ces problèmes de transfert de données, vous devez définir lower_case_table_names sur 1 sur toutes les plates-formes pour forcer la conversion des noms en minuscules.

Si vous envisagez de définir la variable système lower_case_table_names sur 1 sous Unix, vous devez d'abord convertir vos anciens noms de base de données et de table en minuscules avant d'arrêter mysqld et de le redémarrer avec le nouveau paramètre de variable.