Maison >développement back-end >tutoriel php >Pourquoi ma requête PostgreSQL renvoie-t-elle « le nom de la colonne n'existe pas » malgré l'utilisation de guillemets ?

Pourquoi ma requête PostgreSQL renvoie-t-elle « le nom de la colonne n'existe pas » malgré l'utilisation de guillemets ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-16 02:31:10768parcourir

Why Does My PostgreSQL Query Return

Erreur de déclaration Postgresql : le nom de la colonne n'existe pas

Dans les bases de données PostgreSQL, un message d'erreur indiquant « le nom de la colonne n'existe pas » peut apparaître lorsque vous tentez d'exécuter une requête avec un nom de colonne spécifique cité.

Problème Description :

L'utilisateur est confronté à un problème lors de l'interrogation d'une simple base de données PostgreSQL avec une table contenant une colonne nommée "lName" (N majuscule). Bien que le nom de la colonne soit cité comme requis, une erreur est renvoyée, indiquant que la colonne « Smith » n'existe pas.

Solution :

Le problème réside dans le nom incorrect format de la chaîne littérale utilisée dans la clause LIKE. Dans PostgreSQL, les chaînes littérales doivent être placées entre guillemets simples ('), et non entre guillemets doubles (").

Requête correcte :

SELECT *
FROM employee
WHERE "lName" LIKE 'Smith'

Explication :

Les guillemets doubles (") dans la clause LIKE désignent un identifiant entre guillemets, pas une chaîne littéral. Par conséquent, la requête a interprété par erreur « Smith » comme un nom de colonne plutôt que comme une valeur de comparaison de chaîne.

Remarques supplémentaires :

  1. Envisagez d'inclure un caractère générique dans le champ Clause LIKE, car elle permet des correspondances de chaînes partielles.
  2. Assurez-vous que le nom de la colonne existe dans la table spécifiée pour éviter des erreurs.

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