Maison > base de données > tutoriel mysql > Pourquoi ma requête SQL renvoie-t-elle « La colonne « Mary » n'existe pas » ?

Pourquoi ma requête SQL renvoie-t-elle « La colonne « Mary » n'existe pas » ?

Patricia Arquette
Libérer: 2025-01-01 02:56:13
original
477 Les gens l'ont consulté

Why Does My SQL Query Return

"La colonne 'Mary' n'existe pas" : Comprendre l'énigme du devis

Lors de l'exécution de la requête SQL suivante, vous pouvez rencontrer une erreur indiquant que la colonne 'Mary' n'existe pas :

SELECT telephone.telephonenumber AS tel
FROM person, telephone
WHERE person.idperson = telephone.idperson
AND person.personname = ‘Mary’;
Copier après la connexion

Cela prête à confusion, vous ne faites pas référence à « Mary » comme nom de colonne mais plutôt comme valeur à comparer. La source de cette erreur réside dans l'utilisation de guillemets intelligents ("Mary"), au lieu de guillemets simples ("Mary"), pour délimiter la chaîne littérale.

En SQL, les guillemets intelligents sont souvent utilisé pour entourer les noms de colonnes ou les noms de tables, car ils évitent toute ambiguïté dans les cas où les identifiants pourraient entrer en conflit avec des mots réservés. Cependant, lorsqu'il s'agit de chaînes littérales, telles que la valeur que vous souhaitez comparer avec le nom de la personne, il est essentiel d'utiliser des guillemets simples simples.

En remplaçant les guillemets intelligents par des guillemets simples simples, la requête doit s'exécuter correctement. , renvoyant le numéro de téléphone correct de la personne portant le nom « Mary ». Voici la requête corrigée :

SELECT telephone.telephonenumber AS tel
FROM person, telephone
WHERE person.idperson = telephone.idperson
AND person.personname = 'Mary';
Copier après la connexion

N'oubliez pas qu'il est crucial d'utiliser des guillemets simples pour les chaînes littérales en SQL afin d'éviter les erreurs et de garantir que vos requêtes fonctionnent comme prévu.

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