我正在尝试导入以下csv文件,该文件是从PgAdmin导入的。
CSV文件:
"id";"email";"password";"permissions";"activated";"activation_code";"activated_at";"last_login";"persist_code";"reset_password_code";"first_name";"last_name";"created_at";"updated_at"
"11";"test.teset@gmail.com";"$2y$10$gNfDFVCgqhQzCgKoiLuKfeskyCUPzK1akJvk6PdXt1DmMJooCuYpi";"";"t";"XY56HNcFHeAcAwzUhleYhvVbxxmOaMr57ifYEhxiUd";"";"2014-05-27 08:47:33";"$2y$10$g0LnAStmA/kEWuhNDfWleOjQeyo9maGvvIlfiJms/KpRiPAdfBWHm";"";"";"";"2014-05-27 07:51:07";"2014-05-27 08:47:33"
"5";"test@gmail.com";"$2y$10$dXODoI520pddcmiSXcS/OuiH.4K/87LEXeQRzvUl2k/Uth2HumpNy";"";"t";"4k8s1TbgrPfAMcNozVEP19MOQkCApQ0LA8bhGkF55A";"";"2014-05-21 21:18:06";"$2y$10$CefSnbQIzAJBo5PfbMdzKuhzpW17fHqh/frWabmljzJvv0A5Vkt1O";"";"";"";"2014-05-21 21:17:45";"2014-05-22 19:12:01"这是我用来导入CSV文件的命令,
DROP TABLE users;
CREATE TABLE users
(
id serial NOT NULL,
email character varying(255) NOT NULL,
password character varying(255) NOT NULL,
permissions text,
activated boolean NOT NULL DEFAULT true,
activation_code character varying(255),
activated_at timestamp without time zone,
last_login timestamp without time zone,
persist_code character varying(255),
reset_password_code character varying(255),
first_name character varying(255),
last_name character varying(255),
created_at timestamp without time zone,
updated_at timestamp without time zone
);
COPY users (email,password,permissions,activated,activation_code,activated_at,last_login,persist_code,reset_password_code,first_name,last_name,created_at,updated_at)
FROM 'D:/test/db_backup/data_csv.csv' WITH CSV HEADER delimiter ';'
;但我正在跟踪错误,不知道原因。
**ERROR: extra data after last expected column SQL state: 22P04**请告诉我这里有什么问题吗?
发布于 2014-05-29 19:51:25
因为您有14列数据,但在copy语句中只有13列。具体来说,您在副本状态中缺少ID列。如果数据的顺序与表中声明的顺序相同,则不需要将列名放在copy表from语句中。
COPY users FROM 'D:/test/db_backup/data_csv.csv' CSV HEADER delimiter ';' null '\N';在你的情况下会很好--注意你也不需要。
编辑。您需要显式地设置空值,如空'\N‘。如果使用"",您可以得到一个错误,例如:"CSV引号字符不能出现在NULL规范中“。此外,您只能在CSV模式中指定标头,因此如果要使用标头和CSV,则不能使用"“作为分隔符,必须使用显式null '\N‘。
在用\N替换所有"“之后,我更新了原来的答案,并导入了您的样本数据。
https://stackoverflow.com/questions/23941679
复制相似问题