Crate 更新板条箱中的对象数组字段

Crate 更新板条箱中的对象数组字段,crate,Crate,我使用以下语法创建了一个表: create table poll(poll_id string primary key, poll_type_id integer, poll_rating array(object as (rating_id integer,fk_user_id string, israted_image1 integer, israted_image2 integer, updatedDate timestamp, createdDate timestamp )), po

我使用以下语法创建了一个表:

create table poll(poll_id string primary key,
poll_type_id integer,

poll_rating array(object as (rating_id integer,fk_user_id string, israted_image1 integer, israted_image2 integer, updatedDate timestamp, createdDate timestamp )),

poll_question string,
poll_image1 string, 
poll_image2 string
)
我插入了一条没有“poll_rating”字段的记录,这实际上是一个objects字段数组

现在,当我尝试使用以下命令更新民意测验评分时:

update poll set poll_rating = [{"rating_id":1,"fk_user_id":-1,"israted_image1":1,"israted_image2":0,"createddate":1400067339.0496}] where poll_id = "f748771d7c2e4616b1865f37b7913707";
我收到如下错误消息:

"SQLParseException[line 1:31: no viable alternative at input '[']; nested: ParsingException[line 1:31: no viable alternative at input '[']; nested: NoViableAltException;"

有人能告诉我为什么在尝试更新对象数组字段时出现此错误。

我们的SQL解析器目前不支持直接在SQL语句中定义数组和对象,请使用占位符替换参数,如下所述:

使用curl的示例如下所示:

curl -sSXPOST '127.0.0.1:4200/_sql?pretty' -d@- <<- EOF  
{"stmt": "update poll set poll_rating = ? where poll_id = ?",
 "args": [ [{"rating_id":1,"fk_user_id":-1,"israted_image1":1,"israted_image2":0,"createddate":1400067339.0496}], "f748771d7c2e4616b1865f37b7913707" ]
}  
EOF

curl-sSXPOST'127.0.0.1:4200/_sql?pretty'-d@-我们的sql解析器目前不支持直接在sql语句中定义数组和对象,请使用占位符替换参数,如下所述:

使用curl的示例如下所示:

curl -sSXPOST '127.0.0.1:4200/_sql?pretty' -d@- <<- EOF  
{"stmt": "update poll set poll_rating = ? where poll_id = ?",
 "args": [ [{"rating_id":1,"fk_user_id":-1,"israted_image1":1,"israted_image2":0,"createddate":1400067339.0496}], "f748771d7c2e4616b1865f37b7913707" ]
}  
EOF

curl-sSXPOST'127.0.0.1:4200/_sql?pretty'-d@-我试过这个。但是没有运气。。让我再试一次!!谢谢,成功了。但我还有一个疑问,如何在现有的民意调查记录上添加民意调查记录。i、 类似于在现有数组对象上附加新对象。@rameshd33附加操作是不可能的。您必须在客户端执行追加操作,然后更新整个数组。确定。但是,如果有多个人试图添加、更新或删除对象的单个记录数组,则可能会出现并发问题。我说得对吗?是的。使用乐观并发控制来避免这种情况:我试过这样做。但是没有运气。。让我再试一次!!谢谢,成功了。但我还有一个疑问,如何在现有的民意调查记录上添加民意调查记录。i、 类似于在现有数组对象上附加新对象。@rameshd33附加操作是不可能的。您必须在客户端执行追加操作,然后更新整个数组。确定。但是,如果有多个人试图添加、更新或删除对象的单个记录数组,则可能会出现并发问题。我说得对吗?是的。使用乐观并发控制可避免以下情况: