Maison >base de données >tutoriel mysql >Pourquoi mes noms de tables MySQL sont-ils sensibles à la casse sur un système mais pas sur un autre ?
Sensibilité à la casse des noms de table MySQL
Cette question a été soulevée par un développeur qui avait une casse de nom de table différente sur deux environnements différents. Sur leur machine de développement Windows, tous les tableaux étaient en minuscules, tandis que sur le serveur de test Ubuntu, les noms de tables apparaissaient avec une lettre de début en majuscule.
Dans la plupart des cas, la différence de sensibilité à la casse est due au système d'exploitation, et non MySQL lui-même.
Rôle du système d'exploitation :
En général, les noms de bases de données et de tables ne sont pas sensibles à la casse dans Windows, mais le sont sensible à la casse dans la plupart des versions d'Unix. Dans MySQL, les bases de données correspondent aux répertoires du répertoire de données et les tables d'une base de données correspondent aux fichiers du répertoire de la base de données. Ainsi, la sensibilité à la casse du système d'exploitation sous-jacent affecte la sensibilité à la casse des noms de base de données et de table.
Option de configuration :
MySQL fournit une option de configuration, lower_case_table_names, qui vous permet de contrôler la façon dont les noms de tables sont stockés sur le disque. Cette option peut être définie sur :
En définissant lower_case_table_names de manière appropriée, vous pouvez contrôler la sensibilité à la casse des noms de table quel que soit le système d'exploitation. Pour plus de détails, reportez-vous à la documentation MySQL sur [Identifier Case Sensitivity](https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitivity.html).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!