2016-08-08 3 views
0

Я создал эту таблицу:Кассандры: значение обновления столбца кластерной

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

мой запрос, чтобы получить все сообщения пользователя в течение одного года, заказанного по убыванию posttime. с упорядочением это все хорошо, но проблема в том, что posttime будет изменен, если пользователь редактирует PostContent:

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"

У вас есть идеи, как заказать сообщения с изменением времени?

ответ

-1

Вы должны указать столбец кластеризации в своем запросе.

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

Вы не можете обновить значение в столбце кластеризации, поскольку оно относится к первичному ключу – pratsJ