我正在尝试将 UUID 的 python 列表传递给 CSQL 查询...但查询的计算结果如下所示。它在卡桑德拉失败了。
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)
假设您有一个 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)