在cassandra CQL 3.0中更改复合主键

aro*_*oyc 28 alter cassandra composite-primary-key cql3 cqlsh

我正处于需要更改复合主键的情况,如下所示:

旧主键:(id,source,attribute_name,updated_at);

我想要的新主键:(source,id,attribute_name,updated_at);

我发出了以下(mysql like)命令:

ALTER TABLE general_trend_table 
DROP PRIMARY KEY, 
ADD PRIMARY KEY(source, id, attribute_name, updated_at);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

错误请求:第1:38行输入'PRIMARY'没有可行的选择

任何想法如何解决这个问题?更具体地说我想知道有没有办法改变cassandra中的主键?

Mik*_*ura 56

无法更改主键,因为它定义了数据的物理存储方式.

您可以使用新主键创建新表,从旧主键复制数据,然后删除旧表.