试图在Cassandra 1.2表中查询包含空字符串的列时,出现错误:

cql.apivalues.ProgrammingError: Bad Request: Key may not be empty

上下文:
正在发送的cql语句使用游标,用于获取first_name列具有空字符串的所有行。发送到光标的cql_query文本是:
SELECT obj_key
     FROM person_first_name_last_name
     WHERE first_name = :first_name_0 AND last_name = :last_name_1
     LIMIT 50

带参数:
{'first_name_0': '', 'last_name_1': 'd'}

据我所知,这应该是可能的。但是,此错误似乎表明空字符串不是有效的搜索值。我能做些什么来解决这个问题?
非常感谢!

最佳答案

据我所知,当列是键或是组合键的一部分时(至少在cql中没有),不能有空列值。
解决方法是将列设置为数据中不存在的值,在示例中使用“ZX123”就足够了,因为没有人把ZX123作为名字或姓氏。当然,使用一个简单的空白(空格)也可以。

关于python - 在Python 2.7中使用cql 1.4.0查询空字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23615345/

10-12 02:39