python - 输入 'mytable1' cassanda cql python session.execute 错误时没有可行的替代方案

标签 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]...)">

我不知道我的语法有什么问题。请帮忙。谢谢!

最佳答案

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

关于python - 输入 'mytable1' cassanda cql python session.execute 错误时没有可行的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30156068/

相关文章:

java - 在 Cassandra 2+ 中存储简单的键值对

sorting - 如何快速检索Cassandra表中的排序值?

cassandra - 想要了解表格直方图的输出

python - update_or_create 循环中仅更新/创建数据库中的一行

python - 在 django 模板上使用keys()

python - CPython 的垃圾收集是否进行压缩?

python - 计算给定情况的路径

php - 通过 href 通过 session 登录?

node.js - 如何处理 Express 中过期的路线/ session ?

php - 如何在MYSQL数据库中存储PHP Session