我正在尝试从一张表中删除一列,如何检查该列是否存在?
我已经阅读了https://www.postgresql.org/docs/9.2/static/sql-altertable.html的文档,但没有找到任何示例来执行此操作。
甚至看到了如何在SQL Server表中检查列是否存在?,但似乎与此不相关。
我正在尝试从一张表中删除一列,如何检查该列是否存在?
我已经阅读了https://www.postgresql.org/docs/9.2/static/sql-altertable.html的文档,但没有找到任何示例来执行此操作。
甚至看到了如何在SQL Server表中检查列是否存在?,但似乎与此不相关。
您只需在DROP COLUMN
语句中添加IF EXIST
即可:
ALTER TABLE tableName
DROP COLUMN IF EXISTS columnName;
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 $$;