Как установить TTL для столбцов, которые упоминаются в предложении where при использовании UPDATE - PullRequest
0 голосов
/ 12 февраля 2019

Я понимаю, что Кассандра обновляет ttl для всех столбцов, которые я вставляю, когда я USING TTL.Но как я могу обновить ttl для остальных столбцов, которые упоминаются в предложении where.

Вот пример

   UPDATE NerdMovies (movie, director, main_actor, year)
   VALUES ('Serenity', 'Joss Whedon', 'Nathan Fillion', 2005) where
   language = 'English' and country = 'US'
   USING TTL 86400;

Это только обновляет столбцы movie, director, main_actor, year. Я хочуобновите TTL для столбцов language and country (кстати, это первичные ключи).Как мне этого добиться?

1 Ответ

0 голосов
/ 12 февраля 2019

Вы не можете установить TTL для первичных ключей.Вы можете проголосовать за функцию, чтобы сделать это на https://issues.apache.org/jira/browse/CASSANDRA-9312 (но может не относиться к вашему варианту использования, если все столбцы не PK).

Вы можете считывать значения и затем сохранять ихс TTL, как:

   INSERT INTO NerdMovies (movie, director, main_actor, year, language, country)
   VALUES ('Serenity', 'Joss Whedon', 'Nathan Fillion', '2005', 'English', 'US')
   USING TTL 86400;
...