gpt4 book ai didi

cassandra - Cassandra 中 UPDATE 和 INSERT 的区别?

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

针对 Cassandra 执行 CQL 时,UPDATEINSERT 有什么区别?

以前好像没什么区别,现在是documentation表示 INSERT 不支持计数器,而 UPDATE 支持。

是否有“首选”方法可供使用?或者在某些情况下应该使用其中一种而不是另一种?

非常感谢!

最佳答案

有一个细微的差别。如果将所有非键字段设置为空,则通过 INSERT 插入的记录将保留。如果将所有非键字段设置为 null,则通过 UPDATE 插入的记录将消失。

试试这个:

CREATE TABLE T (
pk int,
f1 int,
PRIMARY KEY (pk)
);

INSERT INTO T (pk, f1) VALUES (1, 1);
UPDATE T SET f1=2 where pk=2;
SELECT * FROM T;

返回:

 pk | f1
----+----
1 | 1
2 | 2

现在,将每行设置 f1 更新为 null。

UPDATE T SET f1 = null WHERE pk = 1;
UPDATE T SET f1 = null WHERE pk = 2;
SELECT * FROM T;

请注意,第 1 行保留,而第 2 行已删除。

 pk | f1
----+------
1 | null

如果您使用 Cassandra-cli 查看这些内容,您会发现行的添加方式有所不同。

我确实想知道这是设计使然还是错误,并查看此行为的记录。

关于cassandra - Cassandra 中 UPDATE 和 INSERT 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16532227/

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