【发布时间】:2020-05-13 22:00:30
【问题描述】:
在运行查询创建临时表(如果它不存在)时,我如何确定是否实际创建了新表?
例如,如果我使用CREATE TEMP TABLE IF NOT EXISTS name 创建一个临时表,如果创建了新表,我是否可以让查询返回某些内容?
在我的具体情况下,在创建临时表后,我运行另一个查询以将一些数据复制到其中,因此我需要确保仅在重新创建临时表时才复制数据(例如,如果表被删除由于某些瞬间连接丢失或其他原因)。我正在使用 psycopg2。
【问题讨论】:
-
不,不是因为我认为这个答案不适用于临时表
-
最终我使用了 SELECT EXISTS ( SELECT 1 FROM information_schema.tables WHERE table_schema like 'pg_temp_%' AND table_name=LOWER('table_name') )
标签: python database postgresql psycopg2 create-table