Maison > base de données > tutoriel mysql > Pourquoi ma requête SQL échoue-t-elle avec « Colonne inconnue dans la clause Where » lors de l'utilisation d'alias ?

Pourquoi ma requête SQL échoue-t-elle avec « Colonne inconnue dans la clause Where » lors de l'utilisation d'alias ?

Linda Hamilton
Libérer: 2025-01-17 15:51:10
original
546 Les gens l'ont consulté

Why Does My SQL Query Fail with

La requête SQL provoque une erreur « Colonne inconnue dans la clause Where » en raison de l'alias

Question :

Les requêtes utilisant des alias dans l'instruction SELECT provoqueront une erreur, provoquant une colonne d'alias inconnu dans l'instruction WHERE. Par exemple, la requête suivante déclenche cette erreur :

SELECT u_name AS user_name FROM users WHERE user_name = "john";
Copier après la connexion

Explication :

L'ordre d'exécution de SQL est de droite à gauche. Dans cet exemple, la clause WHERE est exécutée avant la clause SELECT. Par conséquent, lorsque la clause WHERE est analysée, l'alias user_name n'a pas encore été défini.

Solution :

Pour résoudre ce problème, vous pouvez utiliser les noms de colonnes d'origine dans la clause WHERE :

SELECT u_name AS user_name FROM users WHERE u_name = "john";
Copier après la connexion

Ou placez le nom de la colonne alias entre parenthèses dans la clause WHERE :

SELECT u_name AS user_name FROM users WHERE (user_name = "john");
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal