Doris如何修改字段名

Doris建表的时候没有加light_schema_change属性为true,导致后面无法修改表的字段名,请问有什么办法可以修改字段名

img

img

对于Doris中已存在的表,如果需要修改字段名,可以通过以下步骤实现:

将需要修改名称的列先删除。

sql
复制代码
ALTER TABLE table_name DROP COLUMN old_col_name;
再增加一个新的列,名称为需要的新名称。

sql
复制代码
ALTER TABLE table_name ADD COLUMN new_col_name datatype;
将原来的列数据写到新的列中。

sql
复制代码
UPDATE table_name SET new_col_name=old_col_name;
删除原来的列。

sql
复制代码
ALTER TABLE table_name DROP COLUMN old_col_name;
需要注意的是,这个方法不适用于Doris 中的大表和高并发场景。如果需要修改大表中的列名,建议使用类似阿里云的DDL工具进行在线DDL操作。

doris2.0支持修改字段名了,参考如下:
ALTER TABLE issue_tmp RENAME COLUMN left_value left_value_1;

如果您在创建Doris表时没有设置light_schema_change属性为true,那么在后续修改表的字段名时可能会遇到一些问题。不过,您可以尝试以下几种方法来解决这个问题:

使用ALTER TABLE语句修改表的字段名:您可以使用ALTER TABLE语句来修改表的字段名,例如:
ALTER TABLE table_name CHANGE old_column_name new_column_name data_type;
复制
其中,table_name是要修改的表名,old_column_name是要修改的旧字段名,new_column_name是要修改的新字段名,data_type是新字段的数据类型。

使用Doris的重命名表功能:Doris支持重命名表的功能,您可以使用以下命令来重命名表:
RENAME TABLE old_table_name TO new_table_name