Lors du traitement des tables dans PostgreSQL, nous pouvons rencontrer des noms de colonnes similaires à des mots-clés dans le langage SQL. Cela peut provoquer des erreurs lors de l'écriture de requêtes car PostgreSQL peut essayer d'interpréter les noms de colonnes comme des mots-clés plutôt que comme des identifiants.
Pour résoudre ce problème, nous pouvons utiliser des guillemets doubles pour entourer le nom de la colonne, lui échappant ainsi et empêchant PostgreSQL de le prendre pour un mot-clé.
Par exemple, considérons le tableau suivant :
<code class="language-sql">CREATE TABLE my_table (id SERIAL PRIMARY KEY, name TEXT, year INTEGER);</code>
Maintenant, disons que nous voulons insérer une nouvelle ligne dans ce tableau et définir la colonne « année » sur une valeur spécifique. Si on écrit la requête comme suit :
<code class="language-sql">INSERT INTO my_table (id, name, year) VALUES (1, 'John Doe', 1990);</code>
Nous obtenons des erreurs à proximité du mot-clé "year" car PostgreSQL essaie de l'interpréter comme un mot réservé.
Pour résoudre ce problème, nous mettons simplement "année" entre guillemets :
<code class="language-sql">INSERT INTO my_table (id, name, "year") VALUES (1, 'John Doe', 1990);</code>
En citant le nom de la colonne, nous demandons à PostgreSQL de le traiter comme un identifiant plutôt que comme un mot-clé, nous permettant ainsi de définir avec succès sa valeur.
Selon la documentation PostgreSQL, un « identifiant délimité » ou « identifiant cité » est un identifiant mis entre guillemets doubles. Ils sont toujours reconnus comme identifiants et ne peuvent être confondus avec des mots-clés. Cela nous permet d'utiliser des mots-clés comme noms de colonnes ou de tables sans rencontrer d'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!