【问题标题】:Can We Insert the Data into Cassandra Database using INSERT Query我们可以使用 INSERT 查询将数据插入 Cassandra 数据库吗
【发布时间】:2013-09-10 17:25:28
【问题描述】:

我正在使用 wso2dss 并使用 Cassandra 数据库 根据 Wso2dss,他们展示了更新示例。当我使用 INSERT 查询它的抛出错误时 我的查询就像

 <query id="Insertinto" useConfig="CassandraDS">
     <sql>INSERT INTO StudentID('First Name','Last Name','Subjects','Class')  VALUES(?,?,?,?)</sql>
     <param name="First Name" ordinal="1" sqlType="STRING"/>
     <param name="Last Name" ordinal="2" sqlType="STRING"/>
     <param name="Subjects" ordinal="3" sqlType="STRING"/>
     <param name="Class" ordinal="4" sqlType="STRING"/>
  </query>

但我收到如下错误

[2013-06-25 11:38:38,060] ERROR {org.wso2.carbon.dataservices.core.DBDeployer} -  The CassandraStudentsSample.dbs service, which is not valid, caused {1}
DS Fault Message: Invalid query param name: 'first name', must be an NCName.

【问题讨论】:

  • 如果您的参数名称中没有空格,它是否可以工作,因此“名字”变为“名字”并且类似地用于“姓氏”?
  • 我也试过这样,即使它不起作用..

标签: nosql cassandra wso2 wso2esb wso2dss


【解决方案1】:

如果您使用 where 子句,则必须确保在创建列族时已索引列族,否则您不能使用 where 子句。

【讨论】:

    【解决方案2】:

    由于“名字”和“姓氏”有空格而引发给定错误。删除它们并调用。删除它们后是否出现同样的错误?

    【讨论】:

    • 按照您的指导完成,即使抛出 errorNested Exception:- java.sql.SQLSyntaxErrorException: Expected key 'KEY' to be present in WHERE 子句 for 'StudentID'
    • 如果您使用 where 子句,您必须确保在创建列族时已为您的列族建立索引,否则您无法使用 where 子句。
    猜你喜欢
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    • 2021-04-10
    • 2011-07-07
    • 1970-01-01
    相关资源
    最近更新 更多