试图在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/