我所有的Cassandra列族名称都大写(例如FunTable
,SomeOtherTable
等)-我从Thrift API切换到CQL,并且每当查询时(例如{ {1}})失败,并显示SELECT * FROM FunTable
这是怎么回事?
答案 0 :(得分:2)
事实证明,我应该从错误消息中的小写表名中看出,CQL不区分大小写,除了带引号的字符串(类似于其他SQL方言)外。因此,解决方案是在表名两边加上双引号,例如:cassandra.InvalidRequest: Error from server: code=2200 [Invalid query] message="unconfigured table funtable"
如果您指定键空间,则需要将引号放在表名的周围,而不是键空间和表名的组合,例如SELECT * FROM "FunTable"