如何使用python驱动程序在Cassandra的where子句中使用日期时间作为集群?

时间:2017-10-31 11:12:37

标签: python cassandra cassandra-python-driver

我正在使用python驱动程序和Cassandra,我创建了以下架构

CREATE TABLE channelFollowers(
    channelID BIGINT,
    isfavorite BOOLEAN,                     
    userID BIGINT,                                                          
    followDate TIMESTAMP,
    PRIMARY KEY (userID, channelID, followDate)
);

我的问题是,如何在select和update查询的where子句中使用followDate,我试过但是它不起作用它会产生以下错误

typeerror: not enough arguments for format string

任何人都可以帮助我吗?

这是我的代码 channelLike = channelSession.execute("update channelfollowers set isblocked=%s, isfavorite=%s where userid=%s and channelid=%s and followdate=%s",[int(userid),int(channel_id),followDate]

1 个答案:

答案 0 :(得分:0)

从我在错误消息中看到的&在您的代码中 - 您在格式字符串(%s)中有5个占位符,但只传递3个值。我相信你省略isblocked&的占位符isfavorite参数 - 要么传递它们,要么将%s替换为true / false值(正如我从查询中看到的那样,它们应该具有布尔类型)

P.S。你在表的定义中也没有isblocked