By default NULL values are a backslash followed with capital N ("\\N").
Also, you can't insert entries with OIDs (I've added it to my TODO list though)
pg_copy_from
(PHP 4 >= 4.2.0, PHP 5)
pg_copy_from — Fügt Datensätze aus einem Array in eine Tabelle ein
Beschreibung
$connection
, string $table_name
, array $rows
[, string $delimiter
[, string $null_as
]] )
pg_copy_from() fügt Datensätze aus einem Array in
eine Tabelle ein. Intern wird der COPY-Befehl
aufgerufen, um die Datensätze einzufügen. Bei Erfolg gibt die
Funktion TRUE zurück, FALSE sonst.
Parameter-Liste
-
connection -
PostgreSQL Verbindungskennung.
-
table_name -
Name der Tabelle, in die die
rowseingefügt werden. -
rows -
Ein array mit Werten, die in die
table_nameeingefügt werden. Jedes Element vonrowswird zu einer Zeile intable_name. Die Elemente inrowsmüssen Strings mit Feldbegrenzern sein, und mit einem Zeilenvorschub abgeschlossen sein. -
delimiter -
Der Feldbegrenzer, mit dem die Werte in den Elementen von
rowssepariert werden. Der Vorgabewert ist TAB. -
null_as -
Bestimmt, wie SQL NULL Werte in
rowsdargestellt werden. Der Standardwert ist \N ("\\N").
Rückgabewerte
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
Beispiele
Beispiel #1 pg_copy_from() Beispiel
<?php
$db = pg_connect("dbname=publisher") or die("Konnte keine Verbindung aufbauen");
$rows = pg_copy_to($db, $table_name);
pg_query($db, "DELETE FROM $table_name");
pg_copy_from($db, $table_name, $rows);
?>
pg_copy_from
19-Mar-2003 10:38
10-Sep-2002 12:06
Something needs to be said about the format of the array.
Judging by what I've seen, it's pretty much what you get
from loading a tab-separated file with file(). That is, the
lines are linefeed-terminated and there's no need to have
an extra line with "\.". On the other hand, when I try using this
command the connection to the server ends up in some odd
state and is then lost:
PHP Warning: UåSèo() query failed: server closed the connection unexpectedly
I think it might be safer to use the lower-level function
pg_put_line() for now.
For starters, you can check the first line of every function document. It tells the minimum versions of PHP that you need in order to use the function.