gpt4 book ai didi

Cassandra 通过二级索引或允许过滤删除

转载 作者:行者123 更新时间:2023-12-03 06:26:03 28 4
gpt4 key购买 nike

我正在尝试通过表中的二级索引或列键进行删除。我不关心性能,因为这将是一个不寻常的查询。不确定是否可能?例如:

CREATE TABLE user_range (
id int,
name text,
end int,
start int,
PRIMARY KEY (id, name)
)

cqlsh> 从 dat.user_range 中选择 *,其中 id=774516966;

id        | name      | end | start
-----------+-----------+-----+-------
774516966 | 0 - 499 | 499 | 0
774516966 | 500 - 999 | 999 | 500

我可以:

cqlsh> select * from dat.user_range where name='1000 - 1999' allow filtering;

id | name | end | start
-------------+-------------+------+-------
-285617516 | 1000 - 1999 | 1999 | 1000
-175835205 | 1000 - 1999 | 1999 | 1000
-1314399347 | 1000 - 1999 | 1999 | 1000
-1618174196 | 1000 - 1999 | 1999 | 1000
Blah blah…

但我无法删除:

cqlsh> delete from dat.user_range where name='1000 - 1999' allow filtering;
Bad Request: line 1:52 missing EOF at 'allow'
cqlsh> delete from dat.user_range where name='1000 - 1999';
Bad Request: Missing mandatory PRIMARY KEY part id

即使我创建索引:

cqlsh> create index on dat.user_range (start);
cqlsh> delete from dat.user_range where start=1000;
Bad Request: Non PRIMARY KEY start found in where clause

是否可以在不知道主键的情况下删除?

最佳答案

不,不支持使用二级索引删除:CASSANDRA-5527

关于Cassandra 通过二级索引或允许过滤删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18515874/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com