如何仅从PostgreSQL中的CSV导入特定列

时间:2019-11-29 22:04:58

标签: postgresql postgresql-9.6

PostgreSQL版本:9.6

我有一个表xyz,其中有列a integerb integerc textd integer

c的约束为非null。

我的CSV看起来像这样:

foo.csv

1,4
2,5
3,7

如何仅通过导入上面的CSV来更新列ad

我尝试了COPY xyz (a,d) FROM '/foo.csv' DELIMITER ',';,但它给了我一个错误

ERROR: null value in column "c" violates not-null constraint DETAIL: Failing row contains (1, null, null, 4).

1 个答案:

答案 0 :(得分:1)

通常,not null列应定义一个默认值。您可以为现有列定义默认值,例如

alter table xyz alter c set default '';

之后,复制命令将成功。

相关问题