【问题标题】:Add a column to a table with a default value equal to the value of an existing column in HBase through Apache Phoenix通过 Apache Phoenix 向表中添加默认值等于 HBase 中现有列的值的列
【发布时间】:2020-01-16 09:49:34
【问题描述】:

我有一张表 products,其中有 A、B 列。

我想创建一个值等于 B 的列 C。

ALTER TABLE products ADD C DECIMAL(20,12);
UPDATE products SET C = B;

UPDATE statistics 出现一些错误。然后我意识到UPDATE 用于其他目的。然后我尝试如下:

ALTER TABLE products ADD C DECIMAL(20,12);
ALTER TABLE products  SET C = B;

我得到了No rows affected,而所有行的 C 仍然是 null。如何做到这一点?

【问题讨论】:

    标签: sql hadoop hbase phoenix


    【解决方案1】:

    您可以使用此语句创建一列并根据另一列的值对其进行更新:

    ALTER TABLE products ADD C DECIMAL(20,12);
    UPSERT INTO products(your_key, C) select your_key, B from products;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 2021-12-11
      • 2021-01-17
      • 2011-10-29
      • 2014-04-08
      相关资源
      最近更新 更多