Postgresql:创建表并删除(如果存在)

Kae*_*vas 3 postgresql

我正在从 python 脚本运行一批 postgres 查询。部分查询如下:

create table xxx [...]
Run Code Online (Sandbox Code Playgroud)

通常我会收到以下错误:

psycopg2.ProgrammingError: relation "xxx" already exists
Run Code Online (Sandbox Code Playgroud)

我知道我可以手动删除xxx表,但是我问我是否有办法避免这个错误。类似删除 xxx 表(如果存在)之类的内容。

谢谢

nwe*_*hof 5

是的,有DROP TABLE IF EXISTS

IF EXISTS

如果表不存在,不要抛出错误。在此情况下,已发出通知。

此选项自版本 8.2 起可用。

  • 是的,从 9.1 版本开始,您可以使用“CREATE TABLE IF NOT EXISTS”。 (2认同)