我应该如何删除 redshift 数据库中的多列?

Rav*_*ani 4 database ddl amazon-redshift

您好,我正在尝试从我的表中删除列,特别是在Amazon Redshift 数据库中,我尝试过“更改表 ABC 删除列 C1,删除列 C2 ”和“更改表 ABC 删除列 C1,C2) ”,但它显示错误并且没有执行

Pho*_*rze 8

Redshift 的 ALTER TABLE 文档中,您不能一次删除多个列,参见:

ALTER TABLE table_name
{
ADD table_constraint |
DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ] |
OWNER TO new_owner |
RENAME TO new_name |
RENAME COLUMN column_name TO new_name |
ADD [ COLUMN ] column_name column_type
[ DEFAULT default_expr ]
[ ENCODE encoding ]
[ NOT NULL | NULL ] |
DROP [ COLUMN ] column_name [ RESTRICT | CASCADE ] }

where table_constraint is:

[ CONSTRAINT constraint_name ]
{ UNIQUE ( column_name [, ... ] )  |
PRIMARY KEY ( column_name [, ... ] ) |
FOREIGN KEY (column_name [, ... ] )
REFERENCES  reftable [ ( refcolumn ) ]}
Run Code Online (Sandbox Code Playgroud)

因此,我建议您按以下步骤操作:

ALTER TABLE ABC DROP COLUMN C1;
ALTER TABLE ABC DROP COLUMN C2;
Run Code Online (Sandbox Code Playgroud)