如何传递字典和查询参数?

我可以做这样的代码。

prepared = session.prepare('select name from task where id = ?;')
bound = prepared.bind([1])
session.execute(bound)


如何使用dict作为参数,查询语法是什么?

这不起作用:

prepared = session.prepare('select name from task where id = %(id)s;')
bound = prepared.bind({"id": 1})
session.execute(bound)


您能否提供此基本代码的帮助-看起来有可能,但我不知道有效的查询语法?

最佳答案

query = """
        INSERT INTO table_name (
            field_1,
            field_2
        ) VALUES (?, ?)
"""
cql_session.prepare(query).bind({'field_1': 'foo', 'field_2': 'bar'})


这对我们有用。

Docs


  绑定(值)
  
  为准备好的语句参数绑定一系列值并返回该实例。请注意,值必须为:
  
  
  一个序列,即使您仅绑定一个值,或者
  字典键与列之间一对一关联的字典

10-06 10:49