表格方案:
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
如何解决这个问题?
答案 0 :(得分:1)
因为该字段已冻结,您无法对其进行修改 - 您需要将其整体更新 - 即使它是地图it is one blob of data。如果你想更新它,你需要在你身边实现逻辑,但要注意竞争条件,比如,有人会同时更新相同的值。