我有个关于hive db的问题。如果我有一个表,假设我是通过“createexternaltabletemp”创建的,它有一个特定的位置-我想更改列名(只更改名称-不更改类型)。如果我用不同的列名运行相同的create命令-会发生什么?表列将自己更新吗?我会得到一个错误“表已经存在”?我问这个问题,因为我把列名存储在数据库中,我想做一个自动处理-所以我不想写一个特定的“更新列名”命令。。。谢谢!
vs91vp4v1#
不,不会更新表列。相反,您将得到一个错误,因为表已经存在。
r7knjye22#
可以使用alter table\u name change来完成,因为它需要元更改。如
ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]
https://www.cloudera.com/documentation/enterprise/5-8-x/topics/impala_alter_table.html
2条答案
按热度按时间vs91vp4v1#
不,不会更新表列。相反,您将得到一个错误,因为表已经存在。
r7knjye22#
可以使用alter table\u name change来完成,因为它需要元更改。
如
https://www.cloudera.com/documentation/enterprise/5-8-x/topics/impala_alter_table.html