Cassandra根据条件更新多行

时间:2018-06-04 08:21:34

标签: cassandra cql cassandra-3.0 cql3

我想更新Cassandra中的多行,如果它们满足我的条件具有相同的值(将flag更改为false)并且我的条件字段是我的复合键的一部分。但我不能使用整个复合键。

1 个答案:

答案 0 :(得分:0)

不幸的是,这对Cassandra来说是不可能的。 UPDATEINSERT都被认为是写操作。写操作需要完整 PRIMARY KEY。

请考虑此示例,其中我的分区键为username,群集键为transaction_timePRIMARY KEY (username,transaction_time)。如果我只是根据UPDATE尝试username,则会失败。

cassdba@cqlsh:stackoverflow> UPDATE rest_transactions_by_user
       SET http_result = 200 WHERE username='Aaron';
InvalidRequest: Error from server: code=2200 [Invalid query] 
       message="Some clustering keys are missing: transaction_time"