doris修改列名

1.Doris 是否支持修改列名?

在 1.2.0 版本之后, 开启 "light_schema_change"="true" 选项时,可以支持修改列名。

在 1.2.0 版本之前或未开启 "light_schema_change"="true" 选项时,不支持修改列名, 原因如下:

Doris支持修改数据库名、表名、分区名、物化视图(Rollup)名称,以及列的类型、注释、默认值等等。但遗憾的是,目前不支持修改列名。

因为一些历史原因,目前列名称是直接写入到数据文件中的。Doris在查询时,也是通过列名查找到对应的列的。所以修改列名不仅是简单的元数据修改,还会涉及到数据的重写,是一个非常重的操作。

2.如何添加light_schema_change参数呢?

新建表的时候指定:"light_schema_change" = "true",注:对历史表不起作用

建表语句示例:

CREATE TABLE `fc_0818_57` (
  `tong_id` bigint(20) NOT NULL COMMENT '主键',
  `tong_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '插入时间',
  `op` varchar(30) NOT NULL COMMENT '操作类型',
  `map_varchar_test` varchar(255) NULL COMMENT '企业主键',
  `map_char_test` varchar(255) NULL COMMENT '目录编码'
) ENGINE=OLAP
UNIQUE KEY(`tong_id`)
COMMENT 'ws测试数据'
DISTRIBUTED BY HASH(`tong_id`) BUCKETS AUTO
PROPERTIES (
"replication_allocation" = "tag.location.default: 3",
"in_memory" = "false",
"storage_format" = "V2",
"light_schema_change" = "true",
"disable_auto_compaction" = "false"
);

建表成功后,即可对列名进行修改,语法:

alter table table_name RENAME COLUMN old_column_name new_column_name; 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今朝花落悲颜色

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值