У меня есть таблица с ключом String и timeuuid в качестве столбца кластеризации.Обновить строки с timeuuid в качестве столбца кластеризации
Что бы я хотел сделать, это сделать обновление на основе timeuuid < now()
.
Пример:
UPDATE table SET is_used = true WHERE key1 = 'value' AND created_at < timeuuid('2016-02-03') IF is_used != true;
Но получить
InvalidRequest: code=2200 [Invalid query] message="Invalid operator < for PRIMARY KEY part created_at
Есть ли обходной путь или решение для этого? Почему кластерная колонка рассматривается в качестве первичного ключа в этом случае?
Все лучшее
---- Update1: ---
Я использую Кассандры версии 2.2 схемы заключается в следующем:
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);
какая версия кассандры вы используете? Также вы можете поделиться своей схемой таблиц? Это может быть возможно (диапазон отношений на клавишах кластеризации) в cassandra 3.x, но не может точно помнить –