Cassandra不会使用timestamp字段执行insert语句

时间:2015-08-25 19:39:07

标签: cassandra cql datastax

- 更新:这似乎是虚拟机的一个小故障。我重新启动了Cassandra服务,它按预期工作。 - 更新:似乎问题不在代码中,我试图在Cassandra客户端执行insert语句,我得到相同的行为,没有显示错误,没有插入任何内容。 导致此行为的列的类型为timestamp。当我将此列值设置为某些值时(例如' 2015-08-25 22:15:12') 该表是:     创建表播放器 (msisdn varchar主键, game int,keyword varchar,inserted timestamp,lang int,mo int,mt int,qid int,score int)

我是Cassandra的新手,下载VirtualBox快照进行测试。 我正在尝试批处理的示例代码,它没有做任何事情,所以我尝试了,因为人们建议直接执行预准备语句。

var addPlayer = casDemoSession.Prepare("INSERT INTO player (msisdn,qid,keyword,mo,mt,game,score,lang,inserted) Values (?,?,?,?,?,?,?,?,?)");

for (int i = 0; i < 20; i++) {
    var bs = addPlayer.Bind(getRandMSISDN(), 1, "", 1, 0, 0, 10, 0,  DateTime.Now);
    bs.EnableTracing(true);
    casDemoSession.Execute(bs);
}

上面的代码不会抛出任何异常,也不会插入任何数据。我试图跟踪查询但它没有显示实际的cql查询。 运行Cassandra 2.0.1的PlannetCassandra V0.1 VM datastax驱动程序2.6 https://github.com/datastax/csharp-driver

1 个答案:

答案 0 :(得分:0)

可能缺少的一件事是播放器表的键空间名称。通常你会有&#34; INSERT INTO <keyspace>。name(...&#34;

如果您能够运行cqlsh,可以添加&#34; DESCRIBE TABLE <keyspace>。播放器&#34;的输出。您的问题,并显示当您尝试在cqlsh中执行插入时会发生什么。