首页 文章

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

提问于
浏览
0
  • 更新:这似乎是虚拟机的一个小故障 . 我重新启动了Cassandra服务,它按预期工作 . - 更新:似乎问题不在代码中,我试图在Cassandra客户端执行insert语句,我得到相同的行为,没有显示错误,没有插入任何内容 . 导致此行为的列的类型为timestamp . 当我将此列值设置为某些值时(例如'2015-08-25 22:15:12')表是:create table player(msisdn varchar主键,游戏int,关键字varchar,插入时间戳,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查询 . PlannetCassandra V0.1 VM运行Cassandra 2.0.1 datastax驱动程序2.6 https://github.com/datastax/csharp-driver

1 回答

  • 0

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

    如果您能够运行cqlsh,是否可以将“DESCRIBE TABLE <keyspace> .player”的输出添加到您的问题中,并显示当您尝试在cqlsh中执行插入时会发生什么 .

相关问题