【发布时间】:2016-12-31 22:55:44
【问题描述】:
我想知道如何使用 CQL 将新列插入一行...
有可能吗? 如果没有,我如何使用 Fluent Cassandra 轻松做到这一点?
谢谢。
【问题讨论】:
我想知道如何使用 CQL 将新列插入一行...
有可能吗? 如果没有,我如何使用 Fluent Cassandra 轻松做到这一点?
谢谢。
【问题讨论】:
CQL 希望您预先定义架构。如果您需要动态模式,则必须使用基于 Thrift 的客户端之一。 Fluent Cassandra 支持这一点; check here.
【讨论】:
使用 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;
【讨论】:
使用 FluentCassandra:
dbcontext.ExecuteNonQuery("update TargetColumnFamily set 'ColumnName'='ColumnValue'
where keyname='RowKeyValue'")
在我的测试中,我发现如果该行不存在,它将创建该行。不知道如何针对非文本进行调整。
【讨论】: