2014-05-09 3 views
2

redshift에서 두 개의 열이있는 복합 기본 키를 정의하려는 테이블이 있습니다. 테이블 구문을 만드는 데 문제가 있습니다.Redshift : 복합 기본 키 정의

 
Create table metrics (
    id varchar(30), 
    runtime timestamp, 
    category varchar(30), 
    location varchar(30)) 
primary key(id, runtime), 
sortkey(runtime); 

그것은 메시지와 함께 실패 :

 
ERROR: syntax error at or near "PRIMARY" 

사람은 내가 그것을 해결하는 방법을 알아내는 데 도움 주실 래요 여기에 내가 할 노력하고 무엇? 미리 감사드립니다.

답변

8

primary key 제약은 열을 포함하는 괄호 안에 간다 : 당신이 언급 한 것처럼 시도

Create table metrics (
    id varchar(30), 
    runtime timestamp, 
    category varchar(30), 
    location varchar(30), 
    primary key(id, runtime) 
) 
sortkey(runtime); 
+0

. 테이블을 잘 만들었습니다. 그러나 테이블에 데이터를로드하려고하면 다음과 같은 오류가 발생합니다. \t 여러 기본 키가 허용되지 않습니다. –

+0

설명서 (http://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_NEW.html)에 따르면 * 복합 * 기본 키가 허용되며 해당 구문의 구문이 올바른 것입니다. 한 테이블에 여러 개의 기본 키를 가질 수는 없으며 질문이나 대답에도 여러 개의 기본 키가 있습니다. –