如何使用CQL将新列插入到行中

时间:2013-01-30 15:49:52

标签: cassandra fluentcassandra

我想知道如何使用CQL将新列插入行......

有可能吗? 如果没有,我怎样才能通过使用Fluent Cassandra轻松完成?

感谢。

3 个答案:

答案 0 :(得分:0)

CQL希望您事先定义您的架构。如果需要动态模式,则必须使用基于Thrift的客户端之一。流利的卡桑德拉支持这一点; check here

答案 1 :(得分:0)

使用FluentCassandra,您可以非常轻松地向现有行添加新列:

var cFamily = db.GetColumnFamily("TestCF");
cFamily.InsertColumn(rowKey, columnName, columnValue);

或者,你可以这样做:

var cFamily = db.GetColumnFamily("TestCF");
var record = cFamily.CreateRecord(existingRowKey) //record already exists
record[newColumnName] = newColumnValue;

答案 2 :(得分:0)

使用FluentCassandra:

dbcontext.ExecuteNonQuery("update TargetColumnFamily set 'ColumnName'='ColumnValue' 
   where keyname='RowKeyValue'")

在我的测试中,我发现如果它不存在,这将创建该行。不知道如何针对非文本进行调整。