pg_copy_to
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_copy_to — 将表复制到数组
说明
pg_copy_to(
PgSql\Connection
string
string
string
): array|false
PgSql\Connection
$connection
,string
$table_name
,string
$separator
= "\t",string
$null_as
= "\\\\N"): array|false
pg_copy_to() 将表复制到数组。在内部发出 COPY TO
命令来检索记录。
参数
connection
-
PgSql\Connection 实例。
table_name
-
从表中将数据复制到
rows
中的表名。 separator
-
rows
的每个元素分割为每个字段的值的标记。默认为\t
。 null_as
-
SQL
NULL
值在rows
中的表示方式。默认为\\N
("\\\\N"
)。
更新日志
版本 | 说明 |
---|---|
8.1.0 |
现在 connection 参数接受 PgSql\Connection
实例,之前接受 resource。
|
示例
示例 #1 pg_copy_to() 示例
<?php
$db = pg_connect("dbname=publisher") or die("Could not connect");
$rows = pg_copy_to($db, $table_name);
pg_query($db, "DELETE FROM $table_name");
pg_copy_from($db, $table_name, $rows);
?>
+添加备注
用户贡献的备注 3 notes
John M ¶
4 years ago
Worth noting here that just like the COPY TO statement in PostgreSQL, '$table_name' can include a list of columns or be a select query as well.
e.g.:
$rows = pg_copy_to($db,'schema."TableName" (column1, column2, ...)';
$rows = pg_copy_to($db,'(SELECT ...)');
setantae at submonkey dot net ¶
22 years ago
"It issues COPY TO SQL command internally to insert records"
I suspect this statement is incorrect, or that s/insert/retrieve/ is appropriate.
etiger13 at gmail dot com ¶
15 years ago
You cannot specify the schema name in this command. You can change the search path for just one query by using the following code:
<?php
pg_query($conn, "SET search_path TO myschema;");
$copy_to = pg_copy_to($conn, 'tablename');
pg_query("RESET search_path;");
?>