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

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

Susan Sarandon
Susan Sarandonoriginal
2024-12-31 18:34:14267parcourir

Why Does My SQL Query Fail with

La colonne « Mary » n'existe pas : dépannage d'une requête SQL

Vous essayez de récupérer le numéro de téléphone d'une personne nommée "Mary" à l'aide d'une requête SQL. Cependant, vous rencontrez une erreur indiquant que la colonne « Mary » n'existe pas.

Le problème ici réside dans la façon dont vous délimitez la chaîne littérale pour « Mary ». Les guillemets doubles (« ») sont considérés comme des guillemets intelligents, tandis que les guillemets simples (') sont simples. En SQL, les délimiteurs de chaîne par défaut sont des guillemets simples.

Pour résoudre ce problème, vous devez utiliser des guillemets simples pour délimiter 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';

En utilisant des guillemets simples, le nom de la colonne « Mary » sera traité comme une valeur plutôt que comme un identifiant de colonne. Cela devrait éliminer l'erreur et renvoyer le numéro de téléphone attendu.

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:
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