首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Cassandra 3.0中使用java绑定集合文字中的变量?

如何在Cassandra 3.0中使用java绑定集合文字中的变量?
EN

Stack Overflow用户
提问于 2017-08-24 23:42:38
回答 1查看 1.5K关注 0票数 4

我有一个java应用程序,我在其中解析数据并将其更新到我的Cassandra 3.0数据库中。到目前为止,我一直很成功,直到我的列使用了用户定义的类型。

我的尝试是:

代码语言:javascript
复制
String statement_update = "UPDATE table SET "
            + "elements = elements + [{name: ? , associations: []}]"
            + " WHERE id = ? 

elements是my Cassandra 3.0数据库中的用户定义类型。它由名称(数据类型:文本)和关联(数据类型:列表)组成。

PreparedStatement prepared_update = session.prepare(statement_update);

bound_update = prepared_update.bind(name, id);

变量nameid的类型为String。

我一直在尝试使用预准备语句用新解析的数据更新我的表;但是,在解析数据之后,我在向elements列添加更多元素时遇到了问题。我得到错误:“元素的无效列表文字:在集合文字中不支持绑定变量。”我如何解决或解决这个问题?

我尝试过将statement_update更改为“UPDATE table SET elements = elements + ? WHERE id = ?”的方法,但我不知道要将哪种列表(甚至是列表)添加到我的绑定语句中。

需要什么才能满足我的用户定义类型:元素?

EN

Stack Overflow用户

发布于 2021-10-26 20:33:43

尝试另一个更新表示法:

代码语言:javascript
复制
    session := getGocqlSession()
    err := session.Query(
        "UPDATE table SET mymapcolumn[?] = ? WHERE rowkey = ?",
        mapKey, mapValue, rowKey,
    ).Exec()

这对我很有效。

我已经做到了这一点,但也许这种方法会有所帮助。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45865891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档