向 cassandra UDT 插入值
Inserting value to a cassandra UDT
这是我创建的类型,
CREATE TYPE urs.dest (
destinations frozen<list<text>>);
这里是 table ,
CREATE TABLE urs.abc (
id int,
locations map<text, frozen<dest>>,
PRIMARY KEY(id));
当我尝试从 cqlsh 插入值时,
尝试 1:
insert into urs.abc (id, locations ) values (1, {'coffee': { 'abcd', 'efgh'}});
尝试 2:
insert into urs.abc (id, locations ) values (1, {'coffee': ['abcd', 'efgh']});
尝试 3:
insert into urs.abc (id) values (1);
update urs.abc set locations = locations + {'coffee': {'abcd','qwer'}} where id=1;
我收到以下错误,
Error from server: code=2200 [Invalid query] message="Invalid map literal for locations: value {'abcd', 'qwer'} is not of type frozen<dest>"
任何人都可以告诉我为我的 UDT 增值的正确方法吗?
Table创作似乎不错
要插入 table 到 urs.abc
使用此
insert into urs.abc (id, locations ) values (1, {'coffee':{ destinations: ['abcd', 'efgh']}});
您缺少字段名称 destinations
。
这是我创建的类型,
CREATE TYPE urs.dest (
destinations frozen<list<text>>);
这里是 table ,
CREATE TABLE urs.abc (
id int,
locations map<text, frozen<dest>>,
PRIMARY KEY(id));
当我尝试从 cqlsh 插入值时,
尝试 1:
insert into urs.abc (id, locations ) values (1, {'coffee': { 'abcd', 'efgh'}});
尝试 2:
insert into urs.abc (id, locations ) values (1, {'coffee': ['abcd', 'efgh']});
尝试 3:
insert into urs.abc (id) values (1);
update urs.abc set locations = locations + {'coffee': {'abcd','qwer'}} where id=1;
我收到以下错误,
Error from server: code=2200 [Invalid query] message="Invalid map literal for locations: value {'abcd', 'qwer'} is not of type frozen<dest>"
任何人都可以告诉我为我的 UDT 增值的正确方法吗?
Table创作似乎不错
要插入 table 到 urs.abc
使用此
insert into urs.abc (id, locations ) values (1, {'coffee':{ destinations: ['abcd', 'efgh']}});
您缺少字段名称 destinations
。