0

我正在尝试将 UUID 的 python 列表传递给 CSQL 查询......但查询的计算结果如下......它在 cassandra 失败。

select  json *  from users where user_id in [UUID('f3cbb11a-08e6-11e9-805c-507b9dd95453'), UUID('f3c45e1d-08e6-11e9-8441-507b9dd95453')] ALLOW FILTERING

sess=self.cass.getConnection()
query ="select  json *  from users where user_id in {} ALLOW FILTERING".format(user_ids)
sess.execute(query)
4

1 回答 1

0

假设您有一个 uuid 列表:

uuids = [UUID('f3cbb11a-08e6-11e9-805c-507b9dd95453'), UUID('f3c45e1d-08e6-11e9-8441-507b9dd95453')]

根据文档,您必须首先创建查询模板:

query = '''
SELECT * 
FROM users 
WHERE user_id IN ({}) 
ALLOW FILTERING'''.format(','.join('%s' for _ in uuids))
print(query)

SELECT * 
FROM users 
WHERE user_id IN (%s,%s) 
ALLOW FILTERING

然后执行查询:

session.execute(query, uuids)
于 2018-12-26T11:30:50.830 回答