如何在Amazon Redshift数据库中删除多列?尝试语句报错求助
在Amazon Redshift中删除表多列的正确方法
Hey there! 问题出在Amazon Redshift不支持在单条ALTER TABLE语句中一次性删除多个列——这和部分其他SQL数据库的语法不一样,你之前的两次尝试都试图一次性删除多列,所以才会报错。
正确操作方式
你需要为每个要删除的列单独执行ALTER TABLE语句:
ALTER TABLE ABC DROP COLUMN C1; ALTER TABLE ABC DROP COLUMN C2;
为什么之前的语句会失败
- 第一条语句
Alter Table ABC drop column C1,drop column C2用逗号分隔多个DROP COLUMN子句,这不符合Redshift的语法规范。 - 第二条语句
Alter Table ABC drop column C1,C2)不仅有语法错误(多了一个右括号),还试图在单个DROP COLUMN子句里列出多个列,这也是Redshift不支持的写法。
额外注意事项
- 执行前确认
C1和C2确实存在于表ABC中。 - 确保你拥有该表的
ALTER权限,否则无法执行删除操作。
内容的提问来源于stack exchange,提问作者Ravikumar C Bhambhani
相关产品推荐
相关产品推荐

