我试图将CSV文件的内容复制到我的postgresql数据库中,结果出现了这样一个错误:"上一个预期列之后的额外数据".

我的CSV的内容是

    agency_id,agency_name,agency_url,agency_timezone,agency_lang,agency_phone
100,RATP (100),http://www.ratp.fr/,CET,,

我的postgresql命令是

COPY agency (agency_name, agency_url, agency_timezone) FROM 'myFile.txt' CSV HEADER DELIMITER ',';

这是我的桌子

CREATE TABLE agency (
    agency_id character varying,
    agency_name character varying NOT NULL,
    agency_url character varying NOT NULL,
    agency_timezone character varying NOT NULL,
    agency_lang character varying,
    agency_phone character varying,
    agency_fare_url character varying
);

     Column      |       Type        | Modifiers 
-----------------+-------------------+-----------
 agency_id       | character varying | 
 agency_name     | character varying | not null
 agency_url      | character varying | not null
 agency_timezone | character varying | not null
 agency_lang     | character varying | 
 agency_phone    | character varying | 
 agency_fare_url | character varying | 

推荐答案

现在有7个字段.

您需要将CSV中的6个字段映射到表中的6个字段.

在csv中只能映射3个字段,而在csv中只能映射6个字段:

\COPY agency (agency_name, agency_url, agency_timezone) FROM 'myFile.txt' CSV HEADER DELIMITER ',';

csv文件中的所有字段都需要映射到"复制自"命令中.

由于您定义csv ,分隔符为默认值,所以无需将其放入.

Postgresql相关问答推荐

PostgreSQL中btree_gist索引涉及integer和tstzrange属性查询计划的问题

锁定模式与PostgreSQL中的另一种锁定模式冲突到底是什么意思?

PostgreSQL存储过程中不存在游标

Postgres:一次插入多行时自定义upsert(存储过程?)?

PostgreSQL 连接字符串的正则表达式

我想优化查询SQL

如何查找具有包含花括号内值且遵循模式的属性的顶点?

MERGE 语句的锁定级别

PostgreSQL 中的复制槽是否会阻止删除 WALL,即使它们来自另一个数据库?

Postgres - 如何加入两列?

Rails 迁移:PostgreSQL 上的 Bigint 似乎失败了?

PostgreSQL ORDER BY 问题 - 自然排序

错误:CASE types character varying and numeric cannot be matched

Postgres UPDATE with ORDER BY,怎么做?

避免 created_at 和 updated_at 由 sequelize 自动生成

try 为 ror 应用程序设置 postgres,出现错误 - fe_sendauth:no password supplied

错误:表tablename上的更新或删除违反外键约束

Oracle 相当于 Postgres 的 DISTINCT ON?

在 postgres 中导出为 CSV 并使用 GZIP 压缩

PL/pgSQL 中的 BREAK 语句