我想更新Cassandra中的多行,如果它们满足我的条件具有相同的值(将flag更改为false)并且我的条件字段是我的复合键的一部分。但我不能使用整个复合键。
答案 0 :(得分:0)
不幸的是,这对Cassandra来说是不可能的。 UPDATE
和INSERT
都被认为是写操作。写操作需要完整 PRIMARY KEY。
请考虑此示例,其中我的分区键为username
,群集键为transaction_time
:PRIMARY 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"