2012-05-08 37 views
16

que creó esta tabla llamada UBICACIÓN al hacer esto:"columna no permitido aquí" error en la instrucción INSERT

CREATE TABLE LOCATION(
POSTCODE VARCHAR(10) PRIMARY KEY, 
STREET_NAME VARCHAR(20), 
CITY VARCHAR(20)); 

y cuando intento agregar una fecha dentro de la tabla no funciona diciendo que no hay un error

INSERT INTO LOCATION VALUES(PQ95VM,'HAPPY_STREET','FRANCE'); 

de error está diciendo

columna no permitida aquí

+3

Debe usar un editor que admita resaltado de sintaxis. Internet ofrece muchos gratuitos. Basta con mirar la forma en que SO ha hecho su pregunta: su bloomer es inmediatamente obvio. – APC

Respuesta

36

Estas comillas en el primer valor faltante, debe ser

INSERT INTO LOCATION VALUES('PQ95VM', 'HAPPY_STREET', 'FRANCE'); 

Por cierto, estaría bien asesorado para especificar los nombres de las columnas de forma explícita en el inserto, por razones de legibilidad, mantenibilidad y robustez, es decir,

INSERT INTO LOCATION (POSTCODE, STREET_NAME, CITY) VALUES ('PQ95VM', 'HAPPY_STREET', 'FRANCE'); 
+0

Gracias funciona ahora – john

+1

+1 especialmente por el consejo de nombrar realmente las columnas, es un antipatrón SQL para implicar las columnas en una inserción y puede tener algunos resultados desafortunados cuando cambia la estructura de la base de datos. – HLGEM

-2

Este error se introduce si cometemos algún error ortográfico al ingresar el nombre de la variable. Al igual que en el procedimiento almacenado, que tienen el nombre de la variable x y en mi instrucción de inserción estoy usando

insert into tablename values(y); 

Se lanzará una columna de error no permitido aquí.

+0

No estoy seguro de por qué estás siendo votado negativamente. Este es un error común que he hecho antes también. – forcedfx

2

Me gusta Scaffman dijo - Te faltan citas. Siempre cuando estás pasando a un valor de varchar2 usar comillas

INSERT INTO LOCATION VALUES('PQ95VM','HAPPY_STREET','FRANCE'); 

Así que uno (') se inicia la cadena y el segundo (') lo cierra.

Pero si desea añadir un símbolo de cotización en una cadena, por ejemplo:

Mi padre me dijo: 'tienes que ser valiente, hijo'.

usted tiene que utilizar un símbolo de triple cita como:

'Mi padre me dijo: ' ''' tiene que ser valiente, hijo'

* método de cotización adición puede variar en diferentes motores db

1

Lo que se ha perdido es " " en el código postal porque es un varchar.

Hay dos formas de insertar.

Cuando creó una tabla Table created. y agrega una fila justo después de crearla, puede usar el siguiente método.

INSERT INTO table_name 
VALUES (value1,value2,value3,...); 

1 row created.

Ha añadido tantas tablas, o bien se guarda y se vuelven a abrir, es necesario mencionar el nombre de columna de la tabla demasiado o de lo contrario se mostrará el mismo error.

ERROR at line 2: 
ORA-00984: column not allowed here 


INSERT INTO table_name (column1,column2,column3,...) 
VALUES (value1,value2,value3,...); 

1 row created.

3

algún tiempo, Durante la ejecución de consulta de inserción, nos enfrentamos:

columna no permitida aquí de error

. Debido a la cita puede faltar en los parámetros de cadena. Agrega una cotización en los parámetros de cadena e intenta ejecutarla.

Prueba esto:

INSERT INTO LOCATION VALUES('PQ95VM','HAPPY_STREET','FRANCE'); 

o

INSERT INTO LOCATION (ID, FIRST_NAME, LAST_NAME) VALUES('PQ95VM','HAPPY_STREET','FRANCE'); 

http://www.drtuts.com/oracle-error-column-not-allowed-here/

0

INSERT INTO valores de ubicación (PQ95VM, 'HAPPY_STREET', 'FRANCE');

no es correcto porque su primer parámetro POSTCODE es del tipo VARCHAR (10). deberías haber usado ''.

try INSERT INTO LOCATION VALUES ('PQ95VM', 'HAPPY_STREET', 'FRANCE');

Cuestiones relacionadas