cassandra - 如果在 cassandra 的不同列上存在更新记录,则需要为列插入记录
问题描述
我有一个类似于下面的表,其中名称是主键
name pay creation date update date
mike 1000 3/1/2020 3/1/2020
我需要向表中插入多条记录,如果记录已经存在,我需要更新该行。挑战是创建日期。创建日期不应该更新,它只是需要插入。我正在使用简单的更新查询,例如
update table_name set pay=2000,creation date=sys date,update date=sysdate where name='mike';
解决方案
在 Cassandra 中,INSERT 和 UPDATE 之间没有区别(如果您不使用轻量级事务) - 一切都是 UPSERT。这意味着,如果您执行 INSERT 并且行存在,那么数据将被更新,如果您执行 UPDATE 并且行不存在,它将被创建。因此,对于您的问题 - 您可以只执行 INSERT,而不必担心检查行是否存在,并执行 UPDATE 而不是 INSERT。
推荐阅读
- go - 想在单元测试Golang中添加一个FormFile
- php - 访问 PHP 方法中定义的函数内的属性
- c# - 如何在C#中将字符串转换为double
- vba - 检测外出或全天事件
- python - 更新 txt 文件以在 python 将数据保存到其中时进行检查
- python - AttributeError:“gurobipy.Var”对象没有属性“w_permanent”
- python - 在 pandas 中有效地增长数据框
- sparql - 如何使用 SPARQL 在 DBPedia 中的消歧/询问子资源中捕获正确的资源?
- ios - 当单击推送通知以及应用程序也在后台时,ViewController 丢失了引用
- javascript - VueJS:如何在数组的 for 循环中使用绑定值?