如何在PostgreSQL中删除多列


144

我想在PostgreSQL的表中删除200列。我试过了:

ALTER TABLE my_table
DROP COLUMN col1, col2

但我收到这样的错误:

错误:“ col2”或附近的语法错误


1
在列中使用双引号。
Srinivas B

我担心表中是否有200列,更不用说要删除它们了。如果这不仅仅是一次一次性的例外事件,请退后一步,看看您的设计。
理查德·赫克斯顿

1
您看过手册了吗?postgresql.org/docs/current/static/sql-altertable.html。语法在那里列出。
Craig Ringer

Answers:


270

检查一下:

ALTER TABLE table DROP COLUMN col1, DROP COLUMN col2;

1
对我不起作用。我得到:ERROR: 42601: syntax error at or near ","
奥黛丽2014年

9
您甚至可以忽略“列”并使用ALTER TABLE table DROP col1, DROP col2;
Ondrej Burkert 2015年

-4

这为我工作:

alter table your_table_name drop column your_column_name;

3
他们要求多列,而不是一列。但是,您可以为每列多次运行此命令。
彼得·格雷厄姆
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.