当前位置: 首页 > 知识库问答 >
问题:

Cassandra中更新和插入的区别?

潘刚洁
2023-03-14

是否有“首选”方法可供使用?还是有一种情况应该用在另一种上?

太感谢了!

共有1个答案

施子民
2023-03-14

有一个微妙的区别。如果将所有非关键字段设置为NULL,则通过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
UPDATE T SET f1 = null WHERE pk = 1;
UPDATE T SET f1 = null WHERE pk = 2;
SELECT * FROM T;
 pk | f1
----+------
  1 | null
 类似资料:
  • 我已经在带有JDK 1.8的Linux m / c上安装了 2.2.5。 现在,我使用< code > spring-Cassandra-data jar中提供的< code>CassandraTemplate在< code>Cassandra DB中插入记录。 但是,时间戳被转换为GMT,即在存储在数据库中之前从中扣除5:30小时。 我希望实际时间戳存储在数据库中。 先谢谢你。

  • 问题内容: 在hibernateHBM文件中,设置以下属性的目的是什么? 他们的目的是什么?它们对性能有何影响?我们什么时候应该使用它们? 问题答案: 从文档中: 更新,插入(可选-默认为true):指定映射的列应包含在SQL UPDATE和/或INSERT语句中。将两者都设置为false将允许使用纯的“派生”属性,其值是通过映射到同一列的其他某个属性或触发器或其他应用程序初始化的。

  • 我正在制作一个rest api,其中我必须根据id进行更新,并通过spring data在表中插入没有id基础的数据。但我发现在这两种情况下都有一个错误,它运行插入查询,只有更新不工作 存储库文件@repository公共接口CustomerRepository扩展JpaRepository{CustomerEntity save(CustomerEntity CustomerEntity);Cu

  • 作为卡桑德拉数据分区的后续,我得到了vNodes的想法。感谢“西蒙·丰塔纳·奥斯卡森” 当我尝试使用vNodes进行数据分区时,我有几个问题, 我尝试观察2节点中的分区分布() 因此,根据我在两个节点中的观察,随着一个范围的扩展,节点61的值从-9207297847862311651到-9185516104965672922。。。 注意:分区范围从9039572936575206977到90199

  • 问题内容: 我使用以下查询在弹性中创建了一个索引: 我想使用.net NEST库将文档插入此索引。我的问题是.net更新方法的签名对我没有任何意义。 Java库对我来说意义更大: 在NEST中,和类来自哪里?我制作的这些C#类代表我的索引吗? 问题答案: 并且是为POCO类型的泛型类型参数 在Elasticsearch()中表示文档,然后 执行部分更新时,在Elasticsearch()中表示文档

  • 插入、更新和删除语句基于以开头的层次结构生成 UpdateBase . 这个 Insert 和 Update 构建基于中介的 ValuesBase . DML基础构造函数 顶级的“插入”、“更新”、“删除”构造函数。 Object Name Description delete(table[, whereclause, bind, returning, ...], **dialect_kw) 构建