从 CSV 填充 postgres 表列时出现非空约束错误

Posted

技术标签:

【中文标题】从 CSV 填充 postgres 表列时出现非空约束错误【英文标题】:Non null constraint error on populating postgres table column from CSV 【发布时间】:2017-10-29 17:26:35 【问题描述】:

我想从 CSV 文件中填充 postgres 表中的一列。

我在 postgres 9.5.5 中尝试这个命令 -

\copy myschema.items(name) from items.csv;

并得到这个错误 -

错误:“item_code”列中的空值违反非空约束 详细信息:失败的行包含..... 上下文:复制项目,第 1 行:“一些值”

postgres 是否尝试填充 CSV 中的所有列并抱怨,因为它在 CSV 中找不到具有非空约束的列?我如何告诉 postgres 不要担心其他列,而只需将命令中说明的名称列复制到表中?

【问题讨论】:

【参考方案1】:

有两个错误:

将文件名放在单引号中。

添加(FORMAT 'csv')

【讨论】:

以上是关于从 CSV 填充 postgres 表列时出现非空约束错误的主要内容,如果未能解决你的问题,请参考以下文章

关于在left join的on子句中限制左边表的取值时出现非期望的结果

Postgres - 从多个有序行中选择非空白非空值

Postgres:使用子查询更新表列

学说 2 在 Postgres 表列上窒息

使用SSIS包将csv列转换为表列的日期格式?

我应该如何使用 pgAdmin 3 将数据从 CSV 导入 Postgres 表?