首页 > 解决方案 > 包含 IN 的 Cassandra 语句,在具有集合列类型的表上

问题描述

我有一个 Cassandra 表,如下所示:

CREATE TABLE my_table ( 
name text, 
surname text, 
id_1 text, 
id_2 text, 
contents map< int, FROZEN<MAP<text, text>>>, 
PRIMARY KEY( (name, surname), id_1, id_2) )

id_1id_2是聚类列,我正在尝试执行以下选择查询:

SELECT id_1,contents FROM my_table WHERE name='foo' and surname='bar' and id_1 IN ('A', 'B', 'C')

但是,此查询不适用于以下错误:

Cannot restrict clustering columns by IN relations when a collection is selected by the query

这是因为其中一个表列具有集合类型(地图)吗?

如果我从 SELECT 语句中省略了“内容”列,则此查询可以正常工作。

这个查询有什么方法可以工作吗?

标签: cassandracqlcassandra-3.0

解决方案


推荐阅读