【发布时间】:2020-01-12 10:03:55
【问题描述】:
我有一个包含列表类型列的表,我想使用 CONTAINS 关键字检查列表中是否有项目。
根据 scylla 文档:
CONTAINS 运算符只能用于集合列(列表、集合和映射)。对于地图,CONTAINS 应用于地图值。 CONTAINS KEY 运算符只能用于映射列并应用于映射键。
https://docs.scylladb.com/getting-started/dml/
要重现我收到的错误,请执行以下操作:
CREATE TABLE test.persons ( id int PRIMARY KEY,lastname text, books list<text>);
INSERT INTO test.persons(id, lastname, books) values (1, 'Testopoulos',['Dracula','1984']);
SELECT * FROM test.persons
id | books | lastname
----+---------------------+-------------
1 | ['Dracula', '1984'] | Testopoulos
(1 rows)
SELECT * FROM test.persons WHERE books CONTAINS '1984' ALLOW FILTERING;
InvalidRequest: Error from server: code=2200 [Invalid query] message="Collection filtering is not supported yet"
【问题讨论】: