如果在Postgres中存在表 tbl_foo 并且约束本身存在,我该如何删除 fk_bar ?
我试过
ALTER TABLE IF EXISTS tbl_foo DROP CONSTRAINT IF EXISTS fk_bar;
但是当tbl_foo不存在时,这给了我一个错误。如果表存在,它会成功执行。
答案 0 :(得分:1)
https://www.postgresql.org/docs/9.2/static/sql-altertable.html
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
https://www.postgresql.org/docs/9.1/static/sql-altertable.html
ALTER TABLE [ ONLY ] name [ * ]
9.2之前没有这样的语法:
ALTER TABLE IF EXISTS
https://www.postgresql.org/docs/9.2/static/release-9-2.html
将IF EXISTS选项添加到某些ALTER命令(Pavel Stehule)