执行COPY命令后,在Postgres中导入会引发错误

时间:2013-12-09 03:45:50

标签: sql database postgresql csv pgadmin

我正在尝试使用命令行将数据从csv文件导入到我的postgres表中,并尝试了COPY,但每次它都给我以下错误,有人可以帮助我,我会去哪里错了,因为我第一次使用Postgres,在研究之后我才知道我可以使用COPY命令将数据导入和导出到csv和table。

下面是我尝试导入csv file

的表格架构
create table tdummy2
(
number1 integer,
digit integer,
type_digit integer,
total integer,
word character varying(256),
apk character varying(256),
version1 character varying(256),
created  timestamp without time zone DEFAULT now() NOT NULL,
updated  timestamp without time zone DEFAULT now() NOT NULL
);

这就是我的csv文件的外观:

number1;"digit";"type_digit";"total";"word";"apk";"version1"
8;88444;34;97;"yt";"kjk";"vrt"
8;88444;34;97;"yt";"kjk";"vrt"
56;88444;34;97;"yt";"kjk";"vrt"
67;88444;34;97;"yt";"kjk";"vrt"

这是我从命令行运行COPY命令时得到的错误

dummy_table=# COPY tdummy2 FROM 'C:\Users\user1\Documents\user1\import.csv' DELIMITER ',' CSV;

ERROR:  invalid input syntax for integer: "number1;digit;type_digit;total;word;apk;version1"
CONTEXT:  COPY tdummy2, line 1, column number1: "number1;digit;type_digit;total;word;apk;version1"

dummy_table=#

1 个答案:

答案 0 :(得分:3)

你的文件是分号分隔的,但你告诉PostgreSQL它是用逗号分隔的。

尝试

COPY tdummy2 FROM 'C:\Users\user1\Documents\user1\import.csv' DELIMITER ';' CSV;
                                                                        ^^^
                                                                      semicolon

看看是否有帮助。

如果CSV有标头,请指定HEADER选项。