无法从Cassandra CF中删除数据

时间:2017-11-07 10:53:57

标签: cassandra data-modeling

所以我有一个CF,其Schema看起来像这样:

CREATE TABLE "emp" (
id text,
column1 text,
column2 text,
PRIMARY KEY (id, column1, column2)
)

我有一个看起来像这样的条目,我想删除它:

20aff8144049 | name | someValue

所以我尝试了这个命令:

Delete column2 from emp where id='20aff8144049';

失败并出现以下错误:

输入'20aff8144049'没有可行的选择(...来自emp的column2,其中id = [“20aff8144049] ...)

有人可以帮我解决问题吗?谢谢!

2 个答案:

答案 0 :(得分:3)

您无法删除或将null设置为主键列

您必须删除整行。

答案 1 :(得分:3)

您只能使用主键的有效值删除条目。您已将主键定义为包含(id,column1,column2),这意味着您必须将所有相应的值放在where子句中。

但是,我假设您希望只能通过ID删除。因此,我建议您重新定义列系列,如下所示:

CREATE TABLE "emp" (
    id text,
    column1 text,
    column2 text,
    PRIMARY KEY ((id), column1, column2)
)

其中id是您的分区键,column1和column2是您的群集列。