Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Redshift : defining composite primary key

I have a table for which I want to define a composite primary key with two columns in redshift. I am having some trouble with create table syntax. Here is what I am trying to do :

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

It is failing with a message :

ERROR:  syntax error at or near "PRIMARY"

Can anyone please help me figure out how to fix it? Thanks in advance.

like image 796
Santanu C Avatar asked May 09 '14 23:05

Santanu C


1 Answers

The primary key constraint goes inside the parentheses containing the columns:

Create table metrics  (
     id varchar(30),
     runtime timestamp,
     category varchar(30),
     location varchar(30),
     primary key(id, runtime)
)
sortkey(runtime);
like image 75
Gordon Linoff Avatar answered Oct 15 '22 07:10

Gordon Linoff