How to drop column if it exists in PostgreSQL 9+?
我正试图从一张桌子上放下一列。如何检查列是否存在?
我浏览了https://www.postgresql.org/docs/9.2/static/sql-altertable.html上的文档,但没有找到任何如何做的示例。
甚至找到了如何检查SQL Server表中是否存在列?但似乎不相关。
你只需要在你的
1 2 | ALTER TABLE tableName DROP COLUMN IF EXISTS columnName; |
您还可以尝试via if exists方法,该方法在我们使用迁移时非常有效。
1 2 3 4 5 6 7 8 9 10 11 | 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 $$; |
号