在 cassandra 3 中的冻结集上插入一个值

Inserting a value on a frozen set in cassandra 3

我目前正在使用 Cassandra 3 数据库,其中一个表的列定义如下:

column_name map<int, frozen <set<int>>>

当我必须更改给定映射键 x 的完整集的值时,我只需要这样做:

UPDATE keyspace.table SET column_name[x] = {1,2,3,4,5} WHERE ...

问题是我需要在给定键的集合上插入一个值。我试过这个:

UPDATE keyspace.table SET column_name[x] = column_name[x] + {1} WHERE ...

但是 returns:

SyntaxException: line 1:41 no viable alternative at input '[' (... SET column_name[x] = [column_name][...)

我做错了什么?有谁知道如何按我需要的方式插入数据?

由于map的值是冻结的,不能这样使用update

A frozen value serializes multiple components into a single value. Non-frozen types allow updates to individual fields. Cassandra treats the value of a frozen type as a blob. The entire value must be overwritten.

你必须阅读完整的地图获取键的值追加新项目然后重新插入