sql—从tsv文件读取时的数据类型(postgresql)

8dtrkrch  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(266)

我正在从tsv文件读取数据到postgresql表。我遇到的问题是,在一列(死亡年)中,要么是一年,要么是演员还没死。如果我尝试使用integer作为数据类型,我会得到一个错误,因为\n。有人知道怎么解决这个问题吗?
这是我的table:

CREATE TABLE name_mock(nconst VARCHAR, primaryName VARCHAR, birthYear INTEGER, deathYear INTEGER, primaryProfession VARCHAR, knownForTitles VARCHAR);

然后我从csv文件导入数据:

COPY name_mock FROM '/home/pathtofile/name.basics.tsv' DELIMITER E'\t' CSV HEADER;

我得到以下错误:

ERROR:  invalid input syntax for type integer: "\N"
CONTEXT:  COPY name_mock, line 4, column deathyear: "\N"

谢谢您。

0sgqnhkj

0sgqnhkj1#

COPY 获取一个参数, NULL .
请试试这个:

COPY name_mock FROM '/home/pathtofile/name.basics.tsv' DELIMITER E'\t' NULL '\N' CSV HEADER;

相关问题