【问题标题】:Insert new value in frozen field Cassandra在冻结字段 Cassandra 中插入新值
【发布时间】:2018-01-14 13:06:07
【问题描述】:

表格方案:

CREATE TABLE users (
    user_id uuid,
    date timestamp,
    components frozen <map <text, map<text, text>>>,
PRIMARY KEY (user_id));

如您所见,components 是冻结字段,我需要在其中插入新值。

我试过这个查询:

UPDATE kp.users SET components = components + {'new': {'key':'value'}} WHERE user_id='edf29208-adc5-4dc0-b6c4-b53b28cab95c';

但出现错误:

Invalid operation (components = components + {'new': {'key': 'value'}}) for frozen collection column components

如何解决这个问题?

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    由于该字段已冻结,因此您无法对其进行修改 - 您需要对其进行整体更新 - 即使它是一张地图,it is one blob of data。如果你想更新它,你需要自己实现逻辑,但要注意竞争条件,比如有人会并行更新相同的值。

    【讨论】:

      猜你喜欢
      • 2018-05-28
      • 2016-06-29
      • 1970-01-01
      • 1970-01-01
      • 2020-07-10
      • 2020-08-05
      • 2016-09-15
      • 2019-04-17
      • 2021-09-07
      相关资源
      最近更新 更多