1

我创建了这个表:

CREATE TABLE postsbyuser(
  userid bigint,
  posttime timestamp,
  postid uuid,
  postcontent text,
  year bigint,
  PRIMARY KEY ((userid,year), posttime)
) WITH CLUSTERING ORDER BY (posttime DESC); 

我的查询是获取按 desc posttime 排序的一年内的所有用户帖子。订购一切正常,但问题是如果用户编辑帖子内容,则发布时间将被更改:

update postsbyuser set postcontent='edited content' and posttime=edit_time where userid=id and year=year

我得到错误:[Invalid query] message="PRIMARY KEY part time found in SET part"

你知道如何在时间变化的情况下订购帖子吗?

4

1 回答 1

-1

您应该在查询中指定聚类列。

update postsbyuser set postcontent='edited content' and posttime=edit_time where userid=id and year=year and posttime=previous_post_time
于 2017-05-29T13:26:05.380 回答