Maison > base de données > tutoriel mysql > Comment puis-je échapper aux noms de colonnes de type mot-clé (par exemple, « année ») dans les instructions INSERT de PostgreSQL ?

Comment puis-je échapper aux noms de colonnes de type mot-clé (par exemple, « année ») dans les instructions INSERT de PostgreSQL ?

Patricia Arquette
Libérer: 2025-01-14 09:41:44
original
938 Les gens l'ont consulté

How Can I Escape Keyword-Like Column Names (e.g.,

Échapper aux noms de colonnes de type mot-clé dans PostgreSQL

Lors de la création de requêtes dans PostgreSQL, des erreurs peuvent survenir si vous rencontrez des noms de colonnes tels que des mots-clés réservés. Par exemple, la colonne « année ».

Question

Essayer d'exécuter une requête INSERT en utilisant la colonne "année" entraîne une erreur comme celle-ci :

<code class="language-sql">INSERT INTO table (id, name, year) VALUES ( ... );</code>
Copier après la connexion

Solution

Pour résoudre ce problème, placez le nom de la colonne « année » entre guillemets :

<code class="language-sql">INSERT INTO table (id, name, "year") VALUES ( ... );</code>
Copier après la connexion

Explication

Des guillemets doubles sont utilisés pour définir des identifiants délimités, qui empêchent PostgreSQL d'interpréter le texte inclus comme un mot-clé. Cela vous permet d'utiliser des noms de colonnes contenant des mots réservés sans déclencher d'erreur.

Comme indiqué dans la documentation PostgreSQL :

"Le deuxième type d'identifiant est un identifiant délimité ou entre guillemets. Il est formé en mettant une séquence arbitraire de caractères entre guillemets doubles ("). Les identifiants délimités sont toujours des identifiants et non des mots-clés. Par conséquent, "select" peut être utilisé pour faire référence à une colonne ou une table nommée "select", et select non cité sera traité comme un mot-clé..."

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