【问题标题】:Subqueries for PostgreSQL returns syntax error near selectPostgreSQL 的子查询在选择附近返回语法错误
【发布时间】:2021-04-07 09:30:21
【问题描述】:

我是数据库的初学者,我正在尝试运行子查询以将数据从一个表插入到具有相同架构的另一个表中。

insert into tbl_technologies_used (t_name_tech, t_category_tech, i_rating) 
  values (
    select t_name_tech, t_category_tech, i_rating 
    from tbl_technologies_proposed
  );

但是我收到了这个错误:

ERROR:  syntax error at or near "select"
LINE 1: ... (t_name_tech, t_category_tech, i_rating) values (select t_n...

我该如何解决这个问题?我一遍又一遍地检查我的代码,但我找不到错误。

【问题讨论】:

标签: sql postgresql sql-insert


【解决方案1】:

如果 INSERT 的来源是 SELECT,则不能使用 VALUES

insert into tbl_technologies_used (t_name_tech, t_category_tech, i_rating) 
select t_name_tech, t_category_tech, i_rating 
from tbl_technologies_proposed

values 子句提供了一组不需要的静态行,因为要插入的行来自您的 SELECT 语句。

【讨论】:

  • 一组静态行是什么意思?是否有任何关键字可以用于values 的行为?
  • values (1,2), (3,4) 是两行两列的静态集合
猜你喜欢
  • 2016-06-04
  • 1970-01-01
  • 2020-06-11
  • 2020-08-22
  • 1970-01-01
  • 2013-09-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多