作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用数百万条记录填充一个 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 值?
最佳答案
要包含 NULL,您必须使用文本插入,用文本模式识别 null,例如\N
。这可以在 COPY
command syntax 中指定,例如
COPY ... FROM ... WITH (DELIMITER '~', NULL '\N')
然后
$dbh->pg_putcopydata("NoSuchFood~\\N\n");
(将反斜杠加倍以生成发送到 Pg 的文字反斜杠)。
这看起来像 USDA database .如果是这样,here's an answer I wrote earlier .
关于perl - 如何在 DBD::Pg 中使用 pg_putcopydata 插入空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27126485/
我正在用数百万条记录填充一个 postgres 表。为了加快这个过程,我使用了 DBD:Pg 中的 pg_putcopydata。我正在关注这个例子: $dbh->do("COPY mytable(f
我是一名优秀的程序员,十分优秀!