Interrogation de tables avec des noms de mots-clés protégés dans MySQL
Il existe des cas où les noms de tables peuvent coïncider avec les mots-clés protégés de MySQL, ce qui entraîne des erreurs de syntaxe. Pour résoudre ce problème, il faut utiliser des techniques spécifiques pour accéder avec succès à ces tables.
Comprendre le problème
Comme l'illustre la requête donnée, le mot-clé « order » entre en conflit avec le nom de la table, provoquant le message d'erreur "Vous avez une erreur dans votre syntaxe SQL." Cette erreur survient car MySQL interprète « order » comme mot-clé plutôt que comme nom de table.
Utilisation de caractères d'échappement
Pour résoudre ce problème, on peut entourer le nom de la table dans les caractères d'échappement, tels que les backticks (`). Cela indique explicitement à MySQL que le texte ci-joint représente un nom de table, évitant toute confusion avec des mots-clés.
mysql_query("SELECT * FROM `order` WHERE orderID = 102;");
En insérant « ordre » dans les backticks, MySQL le reconnaît comme un nom de table, permettant à la requête de s'exécuter avec succès. .
Éviter les mots réservés
Comme alternative, il est conseillé d'éviter d'utiliser des mots protégés mots-clés comme noms de table. Cela atténue le risque d'erreurs de syntaxe et garantit la clarté du code. Bien qu'il existe des solutions de contournement telles que les caractères d'échappement, il est souvent plus prudent de sélectionner des noms alternatifs pour les tables et les colonnes.
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!