Cassandra不会使用CQL更新数据,而是使用mutator

时间:2011-06-18 10:12:37

标签: cassandra cql hector

使用以下代码我尝试更新一行

Keyspace fKeyspace = HFactory.createKeyspace(KEYSPACE, fCluster);

// Update with CQL
CqlQuery<String,String,String> cqlQuery =
   new CqlQuery<String,String,String>(fKeyspace, fStringS, fStringS, fStringS);
cqlQuery.setQuery(
    "INSERT INTO Fahrer (KEY, 'first') VALUES('fahrer1', 'FirstnameUpdated')");
QueryResult<CqlRows<String,String,String>> result = cqlQuery.execute();

// Update with mutator
Mutator<String> mutator = HFactory.createMutator(fKeyspace, fStringS);
MutationResult mr = mutator.insert("fahrer2", "Fahrer",
   HFactory.createStringColumn("first", "SecondUpdated"));

不执行CQL查询的更新,执行使用mutator的更新。错误在哪里?

1 个答案:

答案 0 :(得分:3)

您的密钥和列名称似乎已转置。对于您拥有的钥匙: 关于mutator的“fahrer2”和关于CQL查询的“first”。

如果您还没有,请参阅以下内容以获取有关Hector(以及一般)中CQL的更多信息: https://github.com/rantav/hector/wiki/Using-CQL