我想在配置单元表中的特定位置添加一个新列。当我添加新列时,它会转到最后一个位置。
user2102237
问问题
5379 次
2 回答
2
您需要重新创建表。如果表是外部的并且数据已经包含新列,则发出drop
和create table
语句。一般的解决办法是:
1. create new_table...;
2. insert overwrite new_table select from old_table;
3. drop old_table;
4. alter new_table rename to old_table;
此外,如果数据文件已经在某个位置包含新列,您可以
1. Alter table add column
使用此示例更改列位置:
2. ALTER TABLE test_change CHANGE old_name new_name STRING AFTER other_col CASCADE;
请参阅此处的文档:更改列名称/类型/位置/评论
于 2017-12-15T07:23:26.433 回答
2
人们多久跑步SELECT *
一次?通常,人们会列出 select 语句中的每一列。只需将列添加到末尾,然后进行调整SELECT last_col, first_col, second_col ...
或者,创建一个 VIEW 以运行具有所需列顺序的 select 语句。
将表格重命名为其他名称,并将视图命名为表格,没有人会知道有什么不同
于 2017-12-16T01:27:12.987 回答