ERREUR: la colonne de la relation n'existe pas de PostgreSQL ,Incapable de courir requête d'insertion
Salut, je suis en train de les insérer dans une table tester3, il échoue lorsque j'utilise la syntaxe
insert into tester3 (UN0, UN1) values ( 1, 'jishnu1');
mais
insert into tester3 values ( 1, 'jishnu1');
fonctionne bien.
mydb=# CREATE TABLE tester3
mydb-# (
mydb(# "UN0" integer,
mydb(# "UN1" VARCHAR(40)
mydb(# );
CREATE TABLE
mydb=# insert into tester3 (UN0, UN1) values ( 1, 'jishnu1');
ERROR: column "un0" of relation "tester3" does not exist
mydb=# \d tester3
Table "public.tester3"
Column | Type | Modifiers
--------+-----------------------+-----------
UN0 | integer |
UN1 | character varying(40) |
Je pense que je suis absent quelque chose de très banal, j'ai essayé someother colonne les noms de certains d'entre eux fonctionne très bien et certains ne sont pas de travail. Je suis confus. PostgreSQL a restriction dans les noms de colonne, pour qui les travaux de la 1ère syntaxe de la requête d'insertion fonctionne?
Edit :
Comme suggéré par Gordon Linoff l'aide de guillemets doubles résolu le problème.
insert into tester3 ("UN0", "UN1") values ( 1, 'jishnu1');
fonctionne très bien
Et comme Frank Heikens souligné les autres noms de colonnes qui travaillait sans les guillemets où minuscules.
Minuscule colonne est la norme au sein de PostgreSQL et fonctionne aussi sans les guillemets
OriginalL'auteur Jishnu Prathap | 2015-06-26
Vous devez vous connecter pour publier un commentaire.
Si vous définissez les colonnes avec des guillemets, alors vous avez besoin de les utiliser lorsque vous référer à la colonne:
Je vous suggère de retirer le double cite les noms de colonne dans la
CREATE TABLE
déclaration.Maintenant, je suis totalement confus, j'ai créé "column0" integer, "colonne1" VARCHAR(40) de Son travail sans les guillemets
C'est tout en bas de casse, c'est la norme au sein de PostgreSQL et fonctionne aussi sans les guillemets.
vous avez créé ces colonnes explicitement que les majuscules, mais plus tard requête pour eux dans une casse, et donc ils ne sont pas trouvés. Quand vous mettez les noms entre guillemets, de la recherche seront sensibles à la casse.
OriginalL'auteur Gordon Linoff
essayez cela, utilisez des guillemets pour vos noms de colonne
OriginalL'auteur Ameya Deshpande