2016-01-17 24 views
5

我有这个表CQL:无效的地图类型的值设置文字

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>" 

我错过了什么?

回答

3

cqlsh试试这个:

INSERT INTO constants_values(key_name_1,key_name_2,values) 
VALUES('Sell', 'Electronics', {'Mobile': {value : ['Laptop']}); 
+0

查询是正确的,除了[['Laptop']'应该是'{'Laptop'}' – manish

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

的关键点是:VS的,在原来的语句。

相关问题