【问题标题】:update cassandra field using string concatenation使用字符串连接更新 cassandra 字段
【发布时间】:2015-08-15 14:45:48
【问题描述】:

我正在尝试更新 cassandra 表中的现有字符串列。

例如,我想在用户名前面附加域 id。

下面是我的桌子

id, username
1, agaikwad
2, xyz

我想写 cql 来更新上表以反映以下内容

id, username
1, homeoffice\\agaikwad
2, homeoffice\\xyz

以下是我尝试过的

update users set username = 'homeoffice\\' + username where id = <id>

【问题讨论】:

    标签: cassandra datastax cqlsh


    【解决方案1】:

    这在 C* 中是不允许的,因为它隐含地要求先读再写,这对 C* 来说是一种不好的做法(并且在分布式系统中是一个昂贵的提议)。对于类似的行为,您可以将此字段存储为字符串列表,列表支持追加操作,并且您可以在应用程序端进行连接。

    【讨论】:

    • 为不同的事物设置不同的列也是一种很好的做法。如果您想在表中存储office,只需为其创建一个列。
    • 我看到@shutty 我们试图避免这种情况,因为这需要在 java 中更改代码。通过更新,我可以摆脱 Java 代码更改
    猜你喜欢
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多