sql - 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。
解决方案
你错了。 INSERT
插入现有表;它不会创建表。
如果要创建表,请使用CREATE TABLE AS
:
CREATE TABLE test AS
SELECT col1, ol2, col3
FROM temp_tes;
推荐阅读
- sql - ADODB - 创建一个 VBA 函数以最大限度地减少重复代码?
- excel - Excel 数据验证在另一列中标有值
- powershell - 在 CIM 实例中设置 PolicyStore
- javascript - 如何在 React 中创建默认路由?
- c# - 从数据库中获取任何路由呼叫的网站选项
- javascript - 与 puppeteer 的异步 for 循环
- typescript - 如何模拟使用 new 创建实例的类
- vba - 设置配置文件 Chrome WebDriver Selenium VBA
- c# - 如何使异步任务不会因响应而停止
- reactjs - 尝试使用 google 按钮添加登录时出错“RN GoogleSignin 本机模块未正确链接...”-本机反应