복붙노트

[SQL] 포스트 그레스에서 열 이름 키워드처럼 이스케이프

SQL

포스트 그레스에서 열 이름 키워드처럼 이스케이프

포스트 그레스 '테이블의 열 이름 해있는 경우, 어떻게 컬럼에 대한 값을 설정하는 INSERT 쿼리를 찾아야한다?

예컨대 : INSERT INTO 테이블 (ID, 이름, 년) VALUES (...); 올해의 단어 근처에 오류가 있습니다.

해결법

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

    1.간단히 따옴표로 묶으 올해는 키워드로 해석되는 것을 중지하려면 :

    간단히 따옴표로 묶으 올해는 키워드로 해석되는 것을 중지하려면 :

    INSERT INTO table (id, name, "year") VALUES ( ... );
    

    문서에서 :

  2. ==============================

    2.당신이 어떤 필드 / 열에서 따옴표를 제공하지 않을 경우, 그것은 기본적으로 포스트 그레스으로 소문자로됩니다. 그리고 포스트 그레스는 열 이름에 올 때 키워드를 확인 건너 뜁니다.

    당신이 어떤 필드 / 열에서 따옴표를 제공하지 않을 경우, 그것은 기본적으로 포스트 그레스으로 소문자로됩니다. 그리고 포스트 그레스는 열 이름에 올 때 키워드를 확인 건너 뜁니다.

    귀하의 경우에는, 나는 그것이 컬럼에 관해서는 따옴표를 추가 할 필수 생각하지 않습니다. 당신은 테이블, 스키마, 기능 또는 트리거 등의 이름으로 (포스트 그레스에 의해 등록) 키워드를 사용하는 경우, 당신은 두 따옴표를 사용하는 데 필요한, 또는 당신이 점 연결과 스키마 이름을 지정할 수 있습니다.

    하자의 가정 순서는 포스트 그레스에 의해 등록 된 키워드입니다. 그리고 일부 시나리오에서는, 당신은 테이블 이름으로이 키워드를 사용할 수 있어야합니다.

    그 당시, 포스트 그레스는 키워드 테이블을 만들 수 있습니다. 즉 포스트 그레스의 아름다움입니다.

    주문 테이블에 액세스하려면, 어느 당신은 큰 따옴표를 사용하거나 당신은 테이블 이름 앞에 이름 스키마 할 수 있습니다.

    EG

    1.

    select * from schema_name.order;
    

    2.

    select * from "order";
    

    마찬가지로, 조합의이 유형을 사용할 수 있습니다. 이 당신을 도울 것입니다 바랍니다.

  3. from https://stackoverflow.com/questions/7651417/escaping-keyword-like-column-names-in-postgres by cc-by-sa and MIT license