【问题标题】:No viable alternative at input 'mytable1' cassanda cql python session.execute error在输入“mytable1”cassanda cql python session.execute 错误时没有可行的替代方案
【发布时间】:2015-07-21 06:32:35
【问题描述】:

我正在尝试在 python 中执行一个简单的 cql 查询,但一直出错。

table1 = "mytable1"
table2 = "mytable2"

query1 = "SELECT * FROM %s"
table1Rows = session.execute(query1, (table1,))
table2Rows = session.execute(query1, (table2,))

表变量实际上是作为参数传入的,但我只是自己做了一个例子。我收到此错误:

cassandra.protocol.SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query] message="line 1:14 no viable alternative at input 'mytable1' (SELECT * FROM ['mytable]...)">

我无法弄清楚我的语法有什么问题。请帮忙。谢谢!

【问题讨论】:

    标签: python session cassandra cql execute


    【解决方案1】:

    参数化查询不支持将表名作为参数提供。您可以通过字符串连接构造查询字符串来实现它。只需确保输入变量在允许值的白名单中,以防止 SQL 注入。

    【讨论】:

      猜你喜欢
      • 2016-01-14
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-04
      • 2013-01-31
      • 1970-01-01
      • 2013-08-26
      • 2013-01-23
      相关资源
      最近更新 更多