Cassandra 根据条件更新多行

Cassandra update multiple rows based on condition

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

不幸的是,这对于 Cassandra 是不可能的。 UPDATEs 和 INSERTs 都被认为是写操作。写操作需要 complete PRIMARY KEY.

考虑这个例子,我有一个分区键 username 和一个集群键 transaction_timePRIMARY KEY (username,transaction_time)。如果我只是尝试基于 username UPDATE,这会失败。

cassdba@cqlsh:Whosebug> 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"