gpt4 book ai didi

postgresql - pgadmin 导入问题?

转载 作者:行者123 更新时间:2023-11-29 14:21:34 31 4
gpt4 key购买 nike

我正在尝试导入以下从 PgAdmin 导入的 csv 文件。

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**

请告诉我这里的问题是什么?

最佳答案

因为您有 14 列数据,但您的复制语句中只有 13 列。具体来说,您在复制声明中缺少 ID 列。如果数据的顺序与它们在表中声明的顺序相同,则无需将列名放在 copy table from 语句中。

COPY users FROM 'D:/test/db_backup/data_csv.csv'  CSV HEADER delimiter ';' null '\N';

在您的情况下会很好地工作——请注意您也不需要 WITH。

编辑。您需要显式设置空值,如 null '\N'。如果您使用“”,您会得到一个错误,例如:“CSV 引号字符不得出现在 NULL 规范中”。另外,在CSV模式下只能指定HEADER,所以如果要同时使用HEADER和CSV,则不能使用""作为分隔符,必须使用显式的空'\N'。

在将所有“”替换为\N 之后,我更新了我的原始答案以包含此内容并导入了您的示例数据。

关于postgresql - pgadmin 导入问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23941679/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com