我想知道如何使用CQL将新列插入行......
有可能吗? 如果没有,我怎样才能通过使用Fluent Cassandra轻松完成?
感谢。
答案 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'")
在我的测试中,我发现如果它不存在,这将创建该行。不知道如何针对非文本进行调整。