输入’mytable1’cassanda cql python session.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]...)">

我不知道我的语法出了什么问题.请帮忙.谢谢!

解决方法:

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

上一篇:sql tuning with sql_id


下一篇:java – CQL中是否存在sum函数描述?