2016-01-17 36 views
5

mam tej tabeliCQL: Nieprawidłowe ustawienie dosłowny dla wartości typu mapie

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> 
      ); 

jestem tutaj wstawienie wartości:

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

i tu jest błąd :

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

Czego mi brakuje?

Odpowiedz

3

Spróbuj tego z cqlsh:

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

zapytanie jest poprawne, z wyjątkiem '['Laptop']' powinno być '{'Laptop'}' – manish

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

kluczowym punktem jest: vs the, w swojej oryginalnej instrukcji.