使用默认值向表中添加列

kulphzqa  于 2021-06-24  发布在  Hive
关注(0)|答案(3)|浏览(319)

我正在尝试向表中添加一个默认值为“monthly”的列(理想情况下不使用dataframe)

ALTER TABLE aa_monthly ADD COLUMNS (Monthly_or_Weekly_Indicator string NOT NULL FIRST DEFAULT ('MONTHLY'))

这给了我一个错误:
sql语句中的错误:parseexception:不匹配的输入'default'expecting')'(第1行,位置88)
不管我有没有犯同样的错误 FIRST 在sql语句中。
我到处找了

pkmbmrz7

pkmbmrz71#

遗憾的是,在配置单元中不能为列添加默认值。
列更改命令将只修改配置单元的元数据,而不会修改数据

jfgube3f

jfgube3f2#

有多种方法可以做到这一点

1)  ALTER TABLE aa_monthly 
    ADD Monthly_or_Weekly_Indicator string  not null
    CONSTRAINT Monthly_or_Weekly_Indicator DEFAULT 'MONTHLY'
    WITH VALUES

2)  ALTER TABLE aa_monthly 
    ADD Monthly_or_Weekly_Indicator string NOT NULL DEFAULT 'MONTHLY'
brjng4g3

brjng4g33#

希望这有帮助

ALTER TABLE aa_monthly 
    ADD Monthly_or_Weekly_Indicator string NOT NULL DEFAULT 'MONTHLY'

相关问题