Cassandra 使用timeuuid作为群集列更新行

Cassandra 使用timeuuid作为群集列更新行,cassandra,timeuuid,Cassandra,Timeuuid,我有一个表,它有一个字符串作为键,一个timeuuid作为集群列 我想做的是,基于timeuuid

我有一个表,它有一个字符串作为键,一个timeuuid作为集群列

我想做的是,基于
timeuuid
对其进行更新

例如:

UPDATE table SET is_used = true WHERE key1 = 'value' AND created_at < timeuuid('2016-02-03') IF is_used != true;

不幸的是,即使在C*3.5中,如果集群列限制在某个范围内,您也无法进行更新

从我可以告诉您的情况来看,在执行更新时必须指定整个主键,它不能应用于一系列数据


不管怎么说,在进行条件更新时,您可以先执行
选择
,以确定要更改的候选行,然后成批执行更新(因为它们都应用于同一分区,这是可以的)。

您使用的是什么版本的cassandra?另外,您可以共享您的表模式吗?在cassandra 3.x中,这可能是可能的(集群键上的范围关系),但不能确定
InvalidRequest: code=2200 [Invalid query] message="Invalid operator < for PRIMARY KEY part created_at
CREATE TABLE book (
created_at timeuuid,
book_type varchar,
book_title varchar
PRIMARY KEY ((book_type), created_at)) WITH CLUSTERING ORDER BY (book created_at DESC);