"colonne non autorisée ici" erreur dans INSERT statement
j'ai créé cette table appelée LOCATION en faisant ceci:
CREATE TABLE LOCATION(
POSTCODE VARCHAR(10) PRIMARY KEY,
STREET_NAME VARCHAR(20),
CITY VARCHAR(20));
et quand j'essaie d'ajouter une date dans la table ça ne marche pas en disant qu'il y a une erreur
INSERT INTO LOCATION VALUES(PQ95VM,'HAPPY_STREET','FRANCE');
erreur est de dire
colonne non autorisée ici
6 réponses
il Vous manque des guillemets autour de la valeur première, il devrait être
INSERT INTO LOCATION VALUES('PQ95VM', 'HAPPY_STREET', 'FRANCE');
soit dit en passant, il serait bien avisé de spécifier les noms de colonne explicitement dans L'insertion, pour des raisons de lisibilité, de maintenabilité et de Robustesse, i.e.
INSERT INTO LOCATION (POSTCODE, STREET_NAME, CITY) VALUES ('PQ95VM', 'HAPPY_STREET', 'FRANCE');
peu de temps, lors de l'exécution de requête d'insertion, nous sommes confrontés:
colonne non autorisée ici
erreur. En raison de citation pourrait manquer dans les paramètres de chaîne de caractères. Ajouter de devis dans la chaîne de paramètres et essayez d'exécuter.
essaye ceci:
INSERT INTO LOCATION VALUES('PQ95VM','HAPPY_STREET','FRANCE');
ou
INSERT INTO LOCATION (ID, FIRST_NAME, LAST_NAME) VALUES('PQ95VM','HAPPY_STREET','FRANCE');
comme L'a dit Scaffman-vous manquez de citations. Toujours quand vous passez une valeur à varchar2 utilisez des guillemets
INSERT INTO LOCATION VALUES('PQ95VM','HAPPY_STREET','FRANCE');
Donc un () commence la chaîne et la seconde () il se ferme.
Mais si vous voulez ajouter un symbole guillemet dans une chaîne de caractères, par exemple:
Mon père m'a dit: "il faut être courageux, fils".
Vous devez utiliser un triple symbole de devis comme:
* ajouter la méthode de citation peut varier sur différents moteurs db
Ce que vous avez manqué " "
dans le code postal parce que c'est un varchar
.
Il y a deux manières d'insérer.
quand vous avez créé une table Table created.
et vous ajoutez une ligne, juste après la création, vous pouvez utiliser la méthode suivante.
INSERT INTO table_name
VALUES (value1,value2,value3,...);
1 row created.
vous avez ajouté tellement de tables, ou il est enregistré et vous le rouvrez, vous devez mentionner le nom de la colonne de la table trop ou il affichera la même erreur.
ERROR at line 2:
ORA-00984: column not allowed here
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
1 row created.
INSERT INTO LOCATION VALUES(PQ95VM,'HAPPY_STREET','FR
ANCE');
n'est pas correct car votre premier paramètre POSTCODE est de type VARCHAR(10)
. vous devriez avoir utilisé ' '
.
INSERT INTO LOCATION VALUES('PQ95VM','HAPPY_STREET','FRANCE');
cette erreur se propage si nous faisons une faute d'orthographe en entrant le nom de la variable. Comme dans proc stocké, j'ai le nom de la variable x et dans mon insert statement j'utilise
insert into tablename values(y);
il lancera une colonne d'erreur non autorisée ici.