输入'mytable1'cassanda cql python session.execute错误没有可行的选择

时间:2015-05-10 20:00:35

标签: python session cassandra cql execute

我正在尝试在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]...)">

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

1 个答案:

答案 0 :(得分:3)

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