首页 > 解决方案 > INSERT 具有比表达式更多的目标列 - 使用 SELECT 查询插入空表时

问题描述

提取表返回以下内容

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 的目标列多于表达式

LINE 1: INSERT INTO track (title, len, rating, count, album_id) SELE...

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

标签: postgresqlsql-insert

解决方案


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


推荐阅读