CQL:类型为map的值的set literal无效

时间:2016-01-17 13:21:33

标签: cassandra cassandra-2.0 cql cql3

我有这张桌子

create table constants_values
              (
               key_name_1 text,
               key_name_2 text,
               values map<text, frozen<nav_tag_values>>,
               PRIMARY KEY(key_name_1, key_name_2)
              );

UDT:

 CREATE TYPE ks_mobApp.nav_tag_values (
               values set<text>
              );

我在这里插入值:

cqlsh:ks_mobapp> insert into constants_values(key_name_1,key_name_2,values) 
values('Sell', 'Electronics', {{'Mobile', {values:{'Laptop'}}}});

,这是错误:

InvalidRequest: code=2200 [Invalid query] 
message="Invalid set literal for values of type map<text, nav_tag_values>"

我缺少什么?

2 个答案:

答案 0 :(得分:3)

使用 cqlsh

尝试此操作
INSERT INTO constants_values(key_name_1,key_name_2,values) 
VALUES('Sell', 'Electronics', {'Mobile': {value : ['Laptop']});

答案 1 :(得分:1)

INSERT INTO constants_values(key_name_1,key_name_2,values)  values('Sell', 'Electronics', {'Mobile': {values:{'Laptop'}}});

关键点是:vs原始声明中的。