【问题标题】:Python Cassandra Datastax driver queries have no effectPython Cassandra Datastax 驱动程序查询没有效果
【发布时间】:2017-08-17 21:51:22
【问题描述】:

我正在使用 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 中,它不会打印异常消息)

【问题讨论】:

  • 可以分享格式插值后的查询字符串吗?
  • "DELETE FROM x.user_data WHERE username='9999999999' AND usertype = 17"

标签: python cassandra datastax cql


【解决方案1】:

您似乎在“格式化”查询时遇到问题。

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

【讨论】:

    猜你喜欢
    • 2016-02-27
    • 2017-01-20
    • 2018-09-26
    • 2016-09-21
    • 2014-03-31
    • 2015-03-26
    • 2018-02-17
    • 2018-02-15
    • 2013-12-23
    相关资源
    最近更新 更多