cassandra - 更改 cassandra CQL 3.0 中的复合主键

标签 cassandra composite-primary-key alter cql3 cqlsh

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

旧主键:(id、来源、attribute_name、updated_at);

我想要的新主键:(源、id、attribute_name、updated_at);

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

ALTER TABLE general_trend_table 
DROP PRIMARY KEY, 
ADD PRIMARY KEY(source, id, attribute_name, updated_at);

我收到以下错误:

错误请求:第 1:38 行在输入“PRIMARY”处没有可行的替代方案

知道如何解决这个问题吗?更具体地说,我想知道有什么方法可以更改 cassandra 中的主键吗?

最佳答案

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

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

关于cassandra - 更改 cassandra CQL 3.0 中的复合主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22139747/

相关文章:

java - Hibernate HBM2DDL 为主外键生成可为空字段?

java - Cassandra 2.1 : User Defined Types - Achilles - Java Mapping

python - Django 自定义主键

cassandra - Spark Cassandra 连接器 - where 子句

ruby-on-rails - 如何在 Rails 4 中创建复合主键

mysql - 在 MySQL 中创建虚拟表

mysql - Mysql中如何更改列数据类型而不丢失数据

string - 如何在 Go 中将新字符分配给字符串?

Cassandra 性能 SELECT by id 或 SELECT by Nothing

java - Cassandra Client API 与 App Engine Datastore API 最相似?