我正试图从表中删除一列。如何检查列是否存在?我查阅了https://www.postgresql.org/docs/9.2/static/sql-altertable.html,但没有找到任何例子。甚至还发现了如何检查sql server表中是否存在列,但似乎并不相关。
bfrts1fy1#
你只需要加上 IF EXIST 给你的 DROP COLUMN 声明:
IF EXIST
DROP COLUMN
ALTER TABLE tableName DROP COLUMN IF EXISTS columnName;
4smxwvx52#
您也可以尝试通过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 $$;
2条答案
按热度按时间bfrts1fy1#
你只需要加上
IF EXIST
给你的DROP COLUMN
声明:4smxwvx52#
您也可以尝试通过if exists方法,这在我们使用迁移时非常有效