PostgreSQL:从csv缺失值复制到具有NOT NULL Constraint的列中



我有一个带有整数列的表,该列没有 NULL 约束,默认值 = 0;

我需要从一系列 csv 文件中复制数据。

在其中一些文件中,此列是空字符串。

到目前为止,我已经将 COPY 命令中的 NULL 参数设置为一些不存在的值,因此空字符串不会转换为 NULL 值,但现在我收到一个错误,指出空字符串对于 INTEGER 列来说是不正确的值。

我想使用 COPY 命令,因为它的速度,但也许这是不可能的。该文件不包含标头。文件中的所有列在表中都有其对应项。

有一种方法可以指定:

  1. 空刺为零,或

  2. 如果有 en 空字符串,请使用默认列值?

您可以在不包含该列的表上创建一个视图,并在其上创建一个INSTEAD OF INSERT触发器。 将数据COPY到该视图中时,默认值将用于表。不知道性能会不会足够好。

相关内容

  • 没有找到相关文章

最新更新