添加具有 DEFAULT 值的列以及 IF NOT EXISTS 时,Snowflake ALTER sql 抛出错误

问题描述 投票:0回答:1

我正在尝试在 Snowflake 中运行

ALTER
查询来添加列:TEST_COL,如果表中尚不存在:TEST_SALES。 我也想为该列设置默认值“N”。 使用的查询是:

ALTER TABLE TEST_SALES
ADD COLUMN IF NOT EXISTS TEST_COL VARCHAR(1) DEFAULT 'N';

重新运行相同的查询时,它会抛出如下错误:

SQL 错误 [2028] [42601]:SQL 编译错误:列名不明确 “测试_COL”

有解决办法吗?

请注意,如果我不设置默认值,它允许我重新运行任意次数 使用的查询是:

ALTER TABLE TEST_SALES
ADD COLUMN IF NOT EXISTS TEST_COL VARCHAR(1);
sql snowflake-cloud-data-platform default alter not-exists
1个回答
0
投票

DEFAULT
不允许与
IF NOT EXISTS
:

来自文档

如果您还指定了任何一个,则无法指定 IF NOT EXISTS 新专栏如下:

默认、自动增量或标识

唯一、主键或外键

© www.soinside.com 2019 - 2024. All rights reserved.