【问题标题】:How do I increment the value of a non-counter column in Cassandra?如何增加 Cassandra 中非计数器列的值?
【发布时间】:2021-03-31 14:28:04
【问题描述】:

如果我有一个包含 2 列的帐户表,例如: Account (id uuid, balance decimal)

如何在 Cassandra 中实现以下目标?

update Account(id, balance) SET balance = balance + 20.0 WHERE id = 80327e25-c32d-4b23-9499-f7bbae76e799 IF balance < 100.0;

我有一个场景,我想使用 Cassandra 跟踪跨越 3 个区域数据中心的集群中的余额,并能够使用 QUORUM 一致性更新余额字段。

【问题讨论】:

标签: cassandra cql


【解决方案1】:

在 CQL 中无法做到这一点,因为它需要先读后写。

相反,您需要在应用程序中执行此逻辑,方法是 (1) 先读取列的值,然后 (2) 使用 UPDATE 命令设置值。干杯!

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-09-11
  • 2013-06-08
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多