복붙노트

[SQL] "열은 여기에 허용되지 않습니다"오류 INSERT 문에

SQL

"열은 여기에 허용되지 않습니다"오류 INSERT 문에

나는 LOCATION이라는 테이블을 생성 이 작업을 수행하여

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

나는 테이블에서 일부 날짜를 추가 할 때 그것은 오류가 말하는 작동하지 않습니다

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

오류가 말하고있다

해결법

  1. ==============================

    1.당신은 첫 번째 값 주위에 따옴표를 놓치고, 그것은해야

    당신은 첫 번째 값 주위에 따옴표를 놓치고, 그것은해야

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

    덧붙여, 당신은 가독성, 유지 보수 및 견고성, 즉의 이유를 들어, INSERT에 명시 적으로 열 이름을 지정할 잘 조언 할 것

    INSERT INTO LOCATION (POSTCODE, STREET_NAME, CITY) VALUES ('PQ95VM', 'HAPPY_STREET', 'FRANCE');
    
  2. ==============================

    2.삽입 쿼리를 실행하는 동안 일부 시간, 우리는 직면하고있다 :

    삽입 쿼리를 실행하는 동안 일부 시간, 우리는 직면하고있다 :

    오류. 인용의 때문에 문자열 매개 변수에서 누락 수 있습니다. 문자열 PARAMS에 따옴표를 추가하고 실행하려고합니다.

    이 시도:

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

    또는

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

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

  3. ==============================

    3.마찬가지로 Scaffman 말했다 - 당신은 따옴표가 누락되었습니다. 항상 당신은 VARCHAR2 사용 따옴표로 값을 전달하는 경우

    마찬가지로 Scaffman 말했다 - 당신은 따옴표가 누락되었습니다. 항상 당신은 VARCHAR2 사용 따옴표로 값을 전달하는 경우

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

    하나 ( ') 문자열과 두 번째를 시작합니다 그래서 (')를 닫습니다.

    하지만 당신은 예를 들어, 문자열로 인용 기호를 추가하려면 :

    당신은 같은 트리플 인용 기호를 사용해야합니다 :

    * 인용 방법을 추가하는 것은 다른 DB 엔진에 변화 할 수있다

  4. ==============================

    4.INSERT INTO 오시는 VALUES (PQ95VM, 'HAPPY_STREET', '프랑스');

    INSERT INTO 오시는 VALUES (PQ95VM, 'HAPPY_STREET', '프랑스');

    첫 번째 매개 변수의 우편 번호는 유형 VARCHAR (10)이기 때문에 위에서 언급 한 코드가 올바르지 않습니다. 당신은 '사용해야합니다.

    INSERT INTO의 LOCATION 값을 시도 ( 'PQ95VM', 'HAPPY_STREET', '프랑스');

  5. ==============================

    5.그것은 VARCHAR 때문에 당신이 놓친 것은 우편 번호에 ""입니다.

    그것은 VARCHAR 때문에 당신이 놓친 것은 우편 번호에 ""입니다.

    삽입하는 두 가지 방법이 있습니다.

    테이블을 생성 할 때 테이블이 생성되었습니다. 당신은 단지 그것을 만든 후 행을 추가, 다음과 같은 방법을 사용할 수 있습니다.

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

    1 행 만들었다.

    당신은 너무 많은 테이블을 추가 한, 또는 그것을 저장하고 당신이 그것을 재개되어, 당신도 테이블의 열 이름을 언급 할 필요가 그렇지 않으면 같은 오류가 표시됩니다.

    ERROR at line 2:
    ORA-00984: column not allowed here
    
    
    INSERT INTO table_name (column1,column2,column3,...)
    VALUES (value1,value2,value3,...);
    

    1 행 만들었다.

  6. ==============================

    6.이 오류 섬뜩한는 경우에 우리는 변수 이름을 입력에서 맞춤법 실수를합니다. 저장된 프로 시저에서와 마찬가지로, 나는 변수 이름 X이 내 삽입 문에 내가 사용하고

    이 오류 섬뜩한는 경우에 우리는 변수 이름을 입력에서 맞춤법 실수를합니다. 저장된 프로 시저에서와 마찬가지로, 나는 변수 이름 X이 내 삽입 문에 내가 사용하고

    insert into tablename values(y);
    

    그것은 여기에 허용되지 않는 오류 열을 발생합니다.

  7. ==============================

    7.

    Scanner sc = new Scanner(System.in); 
    String name = sc.nextLine();
    String surname = sc.nextLine();
    Statement statement = connection.createStatement();
    String query = "INSERT INTO STUDENT VALUES("+'"name"'+","+'"surname"'+")";
    statement.executeQuery();
    

    추가 놓치지 마세요 ' "----"'때 문자열 CONCAT.

  8. from https://stackoverflow.com/questions/10501521/column-not-allowed-here-error-in-insert-statement by cc-by-sa and MIT license