我试图从表中删除一个列。如何检查列是否存在?
我浏览了https://www.postgresql.org/docs/9.2/static/sql-altertable.html上的文档,但没有找到任何示例。
Even found如何检查一个列是否存在于SQL Server表?
您只需要将IF EXIST
添加到DROP COLUMN
语句中:
ALTER TABLE tableName
DROP COLUMN IF EXISTS columnName;
您也可以尝试通过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 $$;