【发布时间】:2014-11-25 20:35:03
【问题描述】:
我正在用数百万条记录填充一个 postgres 表。为了加快这个过程,我使用了 DBD:Pg 中的 pg_putcopydata。 我正在关注这个例子:
$dbh->do("COPY mytable(flavor, slices) FROM STDIN WITH DELIMITER '~'");
$dbh->pg_putcopydata("Pepperoni~123\n");
$dbh->pg_putcopydata("Mushroom~314\n");
$dbh->pg_putcopydata("Anchovies~6\n");
$dbh->pg_putcopyend();
有些记录的字段之一可能为空。 为了插入空值,我尝试在 pg_putcopydata 中使用“undef”、“Null”、“null”、“”、“NULL”。他们都没有工作。
如何使用 pg_putcopydata 插入 NULL 值?
【问题讨论】:
-
有关格式的详细信息,请参阅
COPY的手册。你会想要类似WITH (DELIMITER '~', NULL '\N')
标签: perl postgresql dbd-pg