Python Cassandra Datastax驱动程序查询无效

时间:2017-03-24 20:08:39

标签: python cassandra datastax cql

我正在使用Cassandra Datastax驱动程序执行删除查询,它对数据库没有影响。当我通过cqlsh运行完全相同的查询时,它工作正常。

DEL_QUERY = "DELETE FROM x.user_data WHERE username='{0}' AND usertype = 17;".format(NEW_ID)
    logger.debug("Query:\n %r", DEL_QUERY)
    cluster = Cluster([CASSANDRA_HOST], port=CASSANDRA_PORT, cql_version=CASSANDRA_CQL_VERSION, auth_provider=CASSANDRA_AUTH_PROVIDER, protocol_version=3)
    session = cluster.connect(CASSANDRA_KEYSPACE)
    logger.debug("Executing Query:\n" + DEL_QUERY)
    if not test_run:
        session.execute(DEL_QUERY)

    logger.debug("Query Executed.") 
    cluster.shutdown()

终端中以下代码的结果:

2017-03-27 18:30:10,588 - del - Executing Query:
 "DELETE FROM x.user_data WHERE username='9999999999' AND usertype = 17"
2017-03-27 18:30:10,630 - del - Query Executed.

我格式化查询字符串的方式有什么问题吗?

(我现在已经在try / except中包装了查询,并且它不会打印异常消息)

1 个答案:

答案 0 :(得分:0)

看起来你有"格式化问题"查询。

  1. 格式化后打印DEL_QUERY并在cqlsh中查看/执行它。
  2. 尝试从python执行硬编码查询,无需格式化。