La base de données MySQL est un système de gestion de base de données relationnelle couramment utilisé pour stocker et accéder aux données dans les applications Web. Les tables de données dans MySQL ne sont pas sensibles à la casse, ce qui signifie qu'elles ne le sont pas lors de l'interrogation. Cependant, dans certains cas, MySQL doit être sensible à la casse, auquel cas les paramètres correspondants doivent être définis. Cet article explique comment définir la sensibilité à la casse dans MySQL.
1. Le principe de sensibilité à la casse dans MySQL
Dans MySQL, le nom est uniquement considéré comme un caractère, et non comme un mot ou une expression du langage. Par conséquent, MySQL n'utilise pas la casse pour déterminer la différence entre les noms. Par exemple, MySQL traite « table1 » et « Table1 » comme le même nom.
2. Définissez la sensibilité à la casse de MySQL
Ouvrez le fichier de configuration my.cnf, s'il n'existe pas, créez un nouveau fichier. Ajoutez le code suivant au fichier :
[mysqld] lower_case_table_names=1
Enregistrez le fichier et redémarrez le serveur MySQL. Vous pouvez faire en sorte que MySQL applique le respect de la casse en définissant lower_case_table_names sur 1. S'il est défini sur 0, MySQL ne sera pas sensible à la casse et la valeur par défaut est 0.
Pour les utilisateurs qui n'ont pas l'autorisation de modifier le fichier de configuration MySQL, ils peuvent le définir dans la ligne de commande MySQL. Utilisez la commande suivante sur la ligne de commande :
SET GLOBAL lower_case_table_names=1;
Cela définira le paramètre lower_case_table_names sur 1 globalement sur le serveur MySQL. Ce paramètre persistera lors des redémarrages du serveur MySQL.
Peut également être défini dans la session en cours en utilisant :
SET SESSION lower_case_table_names=1;
Cela définira le paramètre lower_case_table_names sur 1 dans la session en cours. Ce paramètre expirera à la fin de la session en cours.
3. Notes
4. Résumé
Les paramètres par défaut de la base de données MySQL ne sont pas sensibles à la casse. Cependant, lorsque vous devez respecter la casse lors de l'interrogation, vous pouvez définir lower_case_table_names sur 1 dans le fichier de configuration my.cnf ou utiliser l'instruction SET dans la ligne de commande MySQL. Mais il convient de noter qu'il existe certaines restrictions sur l'utilisation de lower_case_table_names=1, ce qui peut causer des problèmes si le nom de la table ou le jeu de caractères n'est pas choisi avec soin. Il doit donc être utilisé avec prudence.
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!