如何在Amazon Redshift中更改表以将两列设置为主键?

问题描述 投票:0回答:1

我想在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 : defining composite primary key,但在那个问题上,它是关于创建不改变表。

PS_2:我的群集中有其他表格,我可以看到它们有一个复合(两列)主键。因此,在Amazon Redshift中拥有复合主键肯定是可能的。

PS_3:我知道Redshift的功能在于设置DistKey和SortKey,但我需要为特定需求的表设置复合主键。

sql amazon-redshift primary-key composite-primary-key
1个回答
0
投票

首先丢弃PK_1约束然后创建第二个

ALTER TABLE tableNameHere DROP CONSTRAINT PK_1;

然后

ALTER TABLE tableNameHere ADD CONSTRAINT PK_1 PRIMARY KEY (col1, col2);
© www.soinside.com 2019 - 2024. All rights reserved.