Cassandra 根据条件更新多行
Cassandra update multiple rows based on condition
我想更新 Cassandra 中的多行,如果它们满足我的具有相同值的条件(将标志更改为 false)并且我的条件字段是我的复合键的一部分。但是我不能使用整个组合键。
不幸的是,这对于 Cassandra 是不可能的。 UPDATE
s 和 INSERT
s 都被认为是写操作。写操作需要 complete PRIMARY KEY.
考虑这个例子,我有一个分区键 username
和一个集群键 transaction_time
:PRIMARY 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"
我想更新 Cassandra 中的多行,如果它们满足我的具有相同值的条件(将标志更改为 false)并且我的条件字段是我的复合键的一部分。但是我不能使用整个组合键。
不幸的是,这对于 Cassandra 是不可能的。 UPDATE
s 和 INSERT
s 都被认为是写操作。写操作需要 complete PRIMARY KEY.
考虑这个例子,我有一个分区键 username
和一个集群键 transaction_time
:PRIMARY 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"