首页 > 解决方案 > PostgreSQL INSERT INTO 表不存在

问题描述

我有一些临时表:

CREATE TEMP TABLE IF NOT EXISTS temp_test (
col1 INTEGER NOT NULL,
col2 CHARACTER VARYING NOT NULL,
col3 BOOLEAN);

然后我做了一些插入temp_test(效果很好)。

后来,在不创建新表的情况下test,我尝试执行以下操作:

INSERT INTO test(col1,col2,col3) SELECT col1,col2,col3 FROM temp_tes;

我收到以下错误: ERROR: relation "test" does not exist

我认为如果我使用INSERT INTO,它应该为我创建表。不是吗?

如果重要的话,我使用的是 PostgreSQL 9.6.16。

标签: sqlpostgresql

解决方案


你错了。 INSERT插入现有表;它不会创建表。

如果要创建表,请使用CREATE TABLE AS

CREATE TABLE test AS
    SELECT col1, ol2, col3
    FROM temp_tes;

推荐阅读