Кассандра обновляет несколько строк в зависимости от условий - PullRequest
0 голосов
/ 04 июня 2018

Я хочу обновить несколько строк в Cassandra, если они удовлетворяют моему условию с тем же значением (меняя флаг на false), и мое поле условия является частью моего составного ключа.Но я не могу использовать целый составной ключ.

1 Ответ

0 голосов
/ 04 июня 2018

К сожалению, это невозможно с Кассандрой.UPDATE s и INSERT s считаются операциями записи.И операции записи требуют complete 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"
...