SQL - PostgreSQL 错误
SQL - Postgresql ERROR
我正在尝试将数据导入 postgresql。 Windows7、64 位。
我的SQL代码如下:
CREATE TABLE films (
imdib varchar,
name varchar,
year integer,
rating integer,
votes integer,
runtime time,
directors varchar,
actors varchar,
genres varchar
);
我的复制码是:
COPY films from 'C:\Users\Max\Desktop\imdb_top100.txt' DELIMITER ',';
我的 imdb_top100.txt 包含这个:
tt0111161 The Shawshank Redemption 1994 9.3 1462391 142 mins. Frank Darabont Tim Robbins|Morgan Freeman|Bob Gunton Crime|Drama
在 Postgresql 上出现此错误:
ERROR: missing datas for column „name“
CONTEXT: COPY films, Line 1: „tt0111161 The Shawshank Redemption 1994 9.3 1462391 142 mins. Frank Darabont Tim Robbins|Morgan F...“
********** Error **********
您的数据是用制表符分隔的,而不是逗号分隔的。所以你必须指定制表符作为分隔符:
COPY films from 'C:\Users\Max\Desktop\imdb_top100.txt' DELIMITER '\t';
报错是因为没有找到逗号,所有行都对应第一个字段,后面的字段(名称)没有剩余数据。
我正在尝试将数据导入 postgresql。 Windows7、64 位。 我的SQL代码如下:
CREATE TABLE films (
imdib varchar,
name varchar,
year integer,
rating integer,
votes integer,
runtime time,
directors varchar,
actors varchar,
genres varchar
);
我的复制码是:
COPY films from 'C:\Users\Max\Desktop\imdb_top100.txt' DELIMITER ',';
我的 imdb_top100.txt 包含这个:
tt0111161 The Shawshank Redemption 1994 9.3 1462391 142 mins. Frank Darabont Tim Robbins|Morgan Freeman|Bob Gunton Crime|Drama
在 Postgresql 上出现此错误:
ERROR: missing datas for column „name“
CONTEXT: COPY films, Line 1: „tt0111161 The Shawshank Redemption 1994 9.3 1462391 142 mins. Frank Darabont Tim Robbins|Morgan F...“ ********** Error **********
您的数据是用制表符分隔的,而不是逗号分隔的。所以你必须指定制表符作为分隔符:
COPY films from 'C:\Users\Max\Desktop\imdb_top100.txt' DELIMITER '\t';
报错是因为没有找到逗号,所有行都对应第一个字段,后面的字段(名称)没有剩余数据。