如何在PostgreSQL 9+中删除已存在的列?

84

你链接的问题中的信息模式查询应该在PostgreSQL中有效。 - Peter Eisentraut
2个回答

141

您只需在DROP COLUMN语句中添加IF EXIST即可:

ALTER TABLE tableName
DROP COLUMN IF EXISTS columnName;

5
您也可以尝试使用 IF EXISTS 方法,这在我们使用迁移时非常好用。
DO $$

BEGIN

    IF EXISTS(
    SELECT column_name FROM information_schema.columns WHERE table_name = tableName AND column_name = columnName)
    THEN
        ALTER TABLE tableName DROP COLUMN columnName;
    END IF;

END $$;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接