如何使用PQputCopyData插入多行

时间:2014-05-22 07:53:16

标签: c++ postgresql

我试图在postgreSQL中使用libpq的PQputcoydata函数从char缓冲区插入多行。 但不知道如何给出换行符。我试过这样的事情

const char * buffer1 =" 32183,3,1,0,,1234,418,Kirti GEN,0,34543,1234,0,2013-09-03 14:39:56.000,2013-09 -03 14:39:56.000,0,0,0.0000,1,0,0,\ n,32183,3,1,0,,1234,418,John Doe,0,34543,1234,0,2013-09 -03 14:39:56.000,2013-09-03 14:39:56.000,0,0,0.0000,1,0,0&#34 ;;

我收到错误"在最后一个预期的列之后的额外数据"在第一次\ n

之后

当我们从postgre库中的STDIN复制时,给出换行符的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

请勿在\ n。

之前或之后加逗号

错误消息表示您的数据中包含太多字段,或者您插入的表或字段列表中的字段太少。

\ n之前的逗号表示第一行被解释为以空字符结尾(空字符串或NULL,取决于您调用COPY的方式),这可能是您想要的但我怀疑它(特别是考虑到错误信息)。

\ n后面的逗号表示第二行被解释为以空字段开头,这肯定不是你想要的。