Amazon RedShift Drop默认

Con*_*nan 5 sql amazon-redshift

我想在RedShift的表中添加NOT NULL列。为此,我指定了一个默认值,以便现有行知道要在新列中放置什么。但是我不想在此列上使用默认值-如果我的COPY命令中没有提供任何数据,我希望它失败。在Postgres中,我可以这样做:

ALTER TABLE my_table ALTER COLUMN my_column DROP DEFAULT;
Run Code Online (Sandbox Code Playgroud)

但是Redshift给我一个错误的说法ERROR: ALTER COLUMN SET/DROP DEFAULT is not supported

添加非空列,更新现有行并且没有默认值的正确方法是什么?

更新:看来Redshift 不允许任何ALTER COLUMN语句。这使这不可能吗?

use*_*910 -1

例如,您应该选择非空值作为零,

alter table my_table
      add column my_column int default 0
Run Code Online (Sandbox Code Playgroud)