我想在我的桌面上读取名为“ tripdata”的CSV文件。我写了一个代码,但我总是遇到这个错误:
ERROR: invalid input syntax for integer: "NULL"
CONTEXT: COPY tripdata, line 4, column birth_year: "NULL"
SQL state: 22P02
我不知道出了什么问题。我以其他CSV文件的相同阅读方式。
CREATE TABLE public."tripdata" (tripduration integer,
starttime timestamp,
stoptime timestamp,
start_station_id integer,
start_station_name varchar(100),
start_station_latitude float,
start_station_longituder float,
end_station_id integer,
end_station_name varchar(100),
end_station_latitude float,
end_station_longituder float,
bikeid integer,
usertime varchar(100),
birth_year integer,
gender varchar(100));
SELECT * FROM public."tripdata";
COPY public."tripdata" FROM 'C:\Users\Pc\Desktop\tripdata.csv' DELIMITER ',' CSV HEADER;
select * from tripdata;
答案 0 :(得分:2)
我相信您将不得不告诉COPY
是NULL
。
https://www.postgresql.org/docs/10/sql-copy.html
NULL 指定表示空值的字符串。默认值为文本格式\ N(反斜杠-N),CSV中未引用的空字符串 格式。
所以在您的情况下:
COPY ... NULL AS 'NULL';