2016-01-17 27 views
5

Ho questa tabellaCQL: Invalid impostare letterale per i valori di tipo mappa

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

Eccomi Inserimento di valori:

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

e qui è l'errore :

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

Cosa mi manca?

risposta

3

Prova questo con cqlsh:

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

query è corretta eccetto '['Laptop']' dovrebbe essere '{'Laptop'}' – manish

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

il punto chiave è la: contro la, nella sua dichiarazione originale.