(PHP 8 >= 8.4.0)
Pdo\Pgsql::copyFromFile — Copy data from file into table
$tableName,$filename,$separator = "\t",$nullAs = "\\\\N",$fields = null
Copies data from file specified by filename
into table tableName using
separator as fields delimiter and fields list
tableNameString containing table name.
filenameFilename containing the data to import.
separator
Delimiter used to separate fields in an entry of the
rows array.
nullAs
How to interpret SQL NULL values.
fieldsList of fields to insert.
If filename cannot be opened for reading, the failure
is reported through the connection's error handling
(see PDO::ATTR_ERRMODE); with
PDO::ERRMODE_EXCEPTION a
PDOException is thrown.
Example #1 Pdo\Pgsql::copyFromFile() example
The file holds one record per line, with fields joined by
separator (a tab by default).
<?php
$db = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec('CREATE TABLE fruits (id int, name text, qty int)');
file_put_contents('/tmp/fruits.tsv', "1\tapple\t10\n2\tbanana\t20\n");
$db->copyFromFile('fruits', '/tmp/fruits.tsv');
echo $db->query('SELECT count(*) FROM fruits')->fetchColumn(), "\n";
?>Il precedente esempio visualizzerà:
2