【发布时间】:2016-01-28 10:54:09
【问题描述】:
我的列族结构是:
create table mykeyspc."test" (
id int PRIMARY KEY,
val set<frozen<map<text,text>>>
);
当我通过 CQL shell 插入数据时
insert into "test" JSON '{"id":1,"val":{"ab","bc"}}';
Error: INVALIDREQUEST: code=2200 [Invalid query] message="Counld not decode JSon string as
map:org.codehaus.jackson.jsonParseException: Unexpected character{'{'{ code 123})
或
insert into "test" (id,val) values (1,{{'ab','bc'},{'sdf','name'}});
Error: INVALIDREQUEST: code=2200 [Invalid query] message="INVALID SET LITERAL FOR
VAL:value{'a','b'} is not of type frozen<map<text,text>>"
【问题讨论】:
-
您使用的是哪个版本的 Cassandra?我只问,因为这个问题被标记为“cassandra-2.0”,但是用
set<frozen<map<...定义一个表只在 2.1+ 中有效。 -
我的猜测是 2.2+,因为服务器尝试在第一条语句中解析 JSON。
-
好电话。谢谢@Adam!
-
感谢 Aaron 和 Adam,问题已解决。我只使用 2.1 版本。