我想更改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,但我需要为表设置一个组合主键,以满足特定需求。
发布于 2019-03-29 18:54:41
第一个删除PK_1约束,然后创建第二个
ALTER TABLE tableNameHere DROP CONSTRAINT PK_1;然后
ALTER TABLE tableNameHere ADD CONSTRAINT PK_1 PRIMARY KEY (col1, col2);https://stackoverflow.com/questions/55415822
复制相似问题