Exécution de requêtes SQL sur des tables avec des mots-clés protégés dans MySQL
Lorsque vous tentez d'exécuter une requête SQL sur une table qui partage le même nom que un mot-clé protégé dans MySQL, les développeurs peuvent rencontrer des erreurs de syntaxe. En effet, les mots clés protégés sont réservés par le système de base de données à des fins spécifiques.
Exemple de problème :
La requête suivante tente de sélectionner des données dans une table nommée « commande » :
mysql_query("SELECT * FROM order WHERE orderID = 102;");
Cependant, cette requête échoue avec le erreur :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order WHERE orderID = 102' at line 2
Solution : échappement des mots-clés
Pour réussir à interroger des tables dont les noms sont en conflit avec des mots-clés réservés, entourez le nom de la table entre caractères d'échappement, tels que des backticks (`). Cela signale à MySQL que l'identifiant ci-joint doit être interprété comme un nom de table et non comme un mot-clé.
mysql_query("SELECT * FROM `order` WHERE orderID = 102;");
Mots clés réservés dans MySQL
Pour éviter les conflits potentiels, il est recommandé d'éviter d'utiliser des mots-clés réservés comme noms de tables ou de champs. Une liste complète des mots-clés réservés peut être trouvée sur https://dev.mysql.com/doc/refman/5.5/en/keywords.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!