开发者社区 > 大数据与机器学习 > 实时数仓 Hologres > 正文

hologres 一个表,这个要是在新增列的时候要怎么指定把历史数据也补上默认值?

hologres 一个表,想新增一列以后的默认值对于历史数据并没有加上,这个要是在新增列的时候要怎么指定把历史数据也补上默认值?image.png

展开
收起
cuicuicuic 2024-01-16 12:33:42 51 0
2 条回答
写回答
取消 提交回答
  • 自己update ,此回答整理自钉群“实时数仓Hologres交流群”

    2024-01-16 13:28:04
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Hologres中,如果要在新增列的时候将历史数据也补上默认值,可以使用以下步骤:

    1. 首先,创建一个新的表,包含新添加的列和原有的列。
    2. 然后,使用INSERT INTO语句将历史数据插入到新表中。
    3. 最后,使用ALTER TABLE语句将新表重命名为原表名,并删除原表。

    以下是具体的SQL代码示例:

    -- 假设原表名为old_table,新表名为new_table,新列名为new_column,默认值为default_value
    
    -- 创建新表
    CREATE TABLE new_table AS SELECT *, default_value::new_column FROM old_table;
    
    -- 将历史数据插入到新表中
    INSERT INTO new_table (new_column) SELECT default_value FROM old_table;
    
    -- 重命名新表为原表名,并删除原表
    ALTER TABLE new_table RENAME TO old_table;
    DROP TABLE old_table;
    

    注意:在执行上述操作之前,请确保已经备份了原表的数据,以防止数据丢失。

    2024-01-16 12:56:33
    赞同 展开评论 打赏

本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975

相关产品

  • 实时数仓 Hologres
  • 相关电子书

    更多
    实时数仓Workshop(广州站)- 李佳林 立即下载
    阿里云实时数仓Hologres技术揭秘2.0 立即下载
    实时数仓Hologres技术实战一本通2.0版(下) 立即下载