在 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.
你必须阅读完整的地图获取键的值追加新项目然后重新插入
我目前正在使用 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.
你必须阅读完整的地图获取键的值追加新项目然后重新插入