我有一个java应用程序,我在其中解析数据并将其更新到我的Cassandra 3.0数据库中。到目前为止,我一直很成功,直到我的列使用了用户定义的类型。
我的尝试是:
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);
变量name和id的类型为String。
我一直在尝试使用预准备语句用新解析的数据更新我的表;但是,在解析数据之后,我在向elements列添加更多元素时遇到了问题。我得到错误:“元素的无效列表文字:在集合文字中不支持绑定变量。”我如何解决或解决这个问题?
我尝试过将statement_update更改为“UPDATE table SET elements = elements + ? WHERE id = ?”的方法,但我不知道要将哪种列表(甚至是列表)添加到我的绑定语句中。
需要什么才能满足我的用户定义类型:元素?
发布于 2021-10-26 20:33:43
尝试另一个更新表示法:
session := getGocqlSession()
err := session.Query(
"UPDATE table SET mymapcolumn[?] = ? WHERE rowkey = ?",
mapKey, mapValue, rowKey,
).Exec()这对我很有效。
我已经做到了这一点,但也许这种方法会有所帮助。
https://stackoverflow.com/questions/45865891
复制相似问题