配列からテーブルに挿入する

# pg_copy_from

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_copy_from — 配列からテーブルに挿入する

### 説明

function pg_copy_from(
PgSql\Connection `$connection`,
string `$table_name`,
array|Traversable `$rows`,
string `$separator` = "\t",
string `$null_as` = "\\\\N"
): bool

pg_copy_from() は、`rows` の内容をテーブルに挿入します。レコードを挿入するために、内部では `COPY FROM` SQL コマンドを発行します。

### パラメータ

`connection`
  PgSql\Connection クラスのインスタンス。
`table_name`

  `rows` をコピーするテーブルの名前。

`rows`

  `table_name` にコピーする iterable なデータ。 `rows` の個々の値が `table_name` のひとつの行となります。`rows` の個々の値は、 それぞれのフィールドに対応する値が区切り文字で区切られており、最後は 改行で終了していなければなりません。

`separator`

  `rows` の要素内で、各フィールドに対応する値を 区切る文字。デフォルトは `\t` です。

`null_as`

  `rows` の中で、SQL の `NULL` をどのように表現するか。デフォルトは `\\N` (`"\\\\N"`) です。

### 戻り値

成功した場合に `true` を、失敗した場合に `false` を返します。

### 変更履歴

バージョン | 説明
--- | ---
8.5.0 | `rows` の型が iterable になりました。 以前は、array でした。
8.1.0 | `connection` は、PgSql\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、resource を期待していました。

### 例

例1 pg_copy_from() の例

    <?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);
    ?>

### 参考

- pg_copy_to() - 配列にテーブルをコピーする

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open