gpt4 book ai didi

cassandra - CQL 3 Cassandra 1.2 计数器 : how to insert primary key?

转载 作者:行者123 更新时间:2023-12-04 18:09:39 25 4
gpt4 key购买 nike

我想像这样在 CQL3 中使用 Cassandra 计数器

create table count1 (id int PRIMARY KEY , c1 counter );



我知道为了更新计数器,我需要执行以下形式的操作:

update count1 set c1 = c1+1 where ..



但在此之前我需要在 key (id); 中插入一个值但我得到:
cqlsh:test2> insert into count1 (id) values (4);
Bad Request: INSERT statement are not allowed on counter tables, use UPDATE instead

是什么赋予了 ?

最佳答案

Cassandra 没有主键存在与否的概念——它只是存在某个主键的单元格。

因此,对于普通列族(即非计数器),您可以 insertupdate (它们在语义上是相同的)无论之前是否使用该主键插入了任何内容。

至于计数器表,CQL 要求你使用 update而不是 insert ,要清楚它是递增而不是设置值。您不能在 Cassandra 中设置计数器值,只能设置 inc/dec。如果之前没有计数器,则假定其值为 0。因此您可以运行

update count1 set c1 = c1 + 1 where id = 2;

并且计数器的值为 1:
select * from count1;

id | c1
----+----
2 | 1

关于cassandra - CQL 3 Cassandra 1.2 计数器 : how to insert primary key?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17711240/

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