Как изменить TABLE в Amazon Redshift, чтобы установить два столбца в качестве первичного ключа? - PullRequest
0 голосов
/ 29 марта 2019

Я хотел бы изменить таблицу в Amazon Redshift и поместить два столбца в качестве составного первичного ключа?

Я попробовал этот фрагмент кода:

ALTER TABLE tableNameHere ADD CONSTRAINT PK_1 PRIMARY KEY (col1);

Но он работал только для установки только одного первичного ключа.

Затем я попытался:

ALTER TABLE tableNameHere ADD CONSTRAINT PK_1 PRIMARY KEY (col1, col2);

И я получил ошибку:

Invalid operation: multiple primary keys for table "t_sim_data" are not allowed;

PS_1: я уже прочитал Redshift: определение составного первичного ключа но в этом вопросе речь идет о создании без изменения таблицы.

PS_2: у меня есть другие таблицы в нашем кластере, где я вижу, что они имеют составной (из двух столбцов) первичный ключ.Таким образом, определенно возможно иметь составной первичный ключ в Amazon Redshift.

PS_3: я знаю, что мощь Redshift заключается в настройке DistKey и SortKey, но мне нужно установить составной первичный ключ для таблицы дляконкретная потребность.

1 Ответ

0 голосов
/ 29 марта 2019

1-й сброс ограничения PK_1, затем создать 2-й

ALTER TABLE tableNameHere DROP CONSTRAINT PK_1;

затем

ALTER TABLE tableNameHere ADD CONSTRAINT PK_1 PRIMARY KEY (col1, col2);
...