Maison > base de données > tutoriel mysql > Pourquoi mon instruction PostgreSQL INSERT échoue-t-elle avec « ERREUR : la colonne « user2 » n'existe pas » ?

Pourquoi mon instruction PostgreSQL INSERT échoue-t-elle avec « ERREUR : la colonne « user2 » n'existe pas » ?

Barbara Streisand
Libérer: 2024-12-30 22:58:10
original
568 Les gens l'ont consulté

Why Does My PostgreSQL INSERT Statement Fail with

Impossible d'insérer des données : erreur "ERREUR : la colonne "valeur" n'existe pas"

Lors de la tentative d'insertion de données dans le fichier "utilisateurs " à l'aide de la requête suivante :

INSERT INTO users (user_name, name, password,email) 
    VALUES ("user2", "first last", "password1", "[email protected]");
Copier après la connexion

les utilisateurs rencontrent un message d'erreur indiquant : "ERREUR : la colonne "utilisateur2" ne fonctionne pas exister." Cette erreur indique que la colonne spécifiée dans la requête ("user2") ne correspond à aucune colonne existante dans la table "users".

En examinant le schéma de la table, nous remarquons que la colonne "user_name" est définie comme "caractère variable (50)", ce qui signifie qu'il accepte les données textuelles. Cependant, dans notre requête, nous essayons d'insérer la chaîne "user2" sans la mettre entre guillemets simples. C'est là que l'erreur survient.

Corriger la requête à l'aide de guillemets simples :

Selon la convention PostgreSQL, les constantes de caractères nécessitent que des guillemets simples soient placés entre guillemets simples. Par conséquent, la requête corrigée devrait être :

INSERT INTO users(user_name, name, password,email) VALUES ('user2','first last','password1', '[email protected]' );
Copier après la connexion

En mettant la valeur "user2" entre guillemets simples, nous indiquons explicitement à PostgreSQL qu'il s'agit d'une constante de caractère et non d'un nom de colonne.

Notes supplémentaires :

  • Référez-vous à la documentation PostgreSQL pour plus de précisions sur les constantes de caractères : postgresql.org/docs/current/static/datatype-character.html
  • Faites preuve de prudence lorsque vous utilisez des guillemets doubles avec PostgreSQL, car ils sont généralement réservés aux identifiants (par exemple, les noms de tables, les noms de colonnes) . L'utilisation de guillemets doubles pour les constantes de caractères peut entraîner des erreurs inattendues.

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!

source:php.cn
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