首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pgadmin导入问题?

pgadmin导入问题?
EN

Stack Overflow用户
提问于 2014-05-29 19:44:12
回答 1查看 5K关注 0票数 0

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

CSV文件:

代码语言:javascript
复制
"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文件的命令,

代码语言:javascript
复制
 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 ';'
        ;

但我正在跟踪错误,不知道原因。

代码语言:javascript
复制
**ERROR: extra data after last expected column SQL state: 22P04**

请告诉我这里有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-29 19:51:25

因为您有14列数据,但在copy语句中只有13列。具体来说,您在副本状态中缺少ID列。如果数据的顺序与表中声明的顺序相同,则不需要将列名放在copy表from语句中。

代码语言:javascript
复制
COPY users FROM 'D:/test/db_backup/data_csv.csv'  CSV HEADER delimiter ';' null '\N';

在你的情况下会很好--注意你也不需要。

编辑。您需要显式地设置空值,如空'\N‘。如果使用"",您可以得到一个错误,例如:"CSV引号字符不能出现在NULL规范中“。此外,您只能在CSV模式中指定标头,因此如果要使用标头和CSV,则不能使用"“作为分隔符,必须使用显式null '\N‘。

在用\N替换所有"“之后,我更新了原来的答案,并导入了您的样本数据。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23941679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档