【发布时间】:2019-03-29 10:52:14
【问题描述】:
我想更改 Amazon Redshift 中的表,并将两列作为复合主键?
我试过这段代码sn-p:
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,但我需要为表设置复合主键以满足特定需求。
【问题讨论】:
-
您需要先
DROP CONSTRAINT,然后再COMMITADD CONSTRAINT。
标签: sql amazon-redshift primary-key composite-primary-key