【问题标题】:INSERT has more target columns than expressions - when using a SELECT query to insert into an empty table [duplicate]INSERT 的目标列多于表达式 - 使用 SELECT 查询插入空表时 [重复]
【发布时间】:2021-08-25 16:07:07
【问题描述】:

提取表返回以下内容

SELECT * FROM track_raw LIMIT 5;

     title          |    artist     |     album     | album_id | count | rating | len 

我要输入这些数据的表是这样的;

id | title | len | rating | count | album_id 

我正在使用这行代码;

INSERT INTO track (title, len, rating, count, album_id) SELECT (title, len, rating, count, album_id) FROM track_raw; 

为此我收到以下错误..

错误:INSERT 的目标列多于表达式

第 1 行:INSERT INTO 曲目(标题、长度、评级、计数、专辑 ID)SELE...

到目前为止,我一直无法确定原因。

【问题讨论】:

  • 去掉SELECT (title, len, rating, count, album_id)...的括号

标签: postgresql sql-insert


【解决方案1】:

删除SELECT 列表周围的括号,使结果变为多列而不是单个复合记录。

【讨论】:

    猜你喜欢
    • 2020-01-19
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    相关资源
    最近更新 更多