テーブルの主キーを取得する

# odbc_primarykeys

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_primarykeys — テーブルの主キーを取得する

### 説明

function odbc_primarykeys(
Odbc\Connection `$odbc`,
?string `$catalog`,
string `$schema`,
string `$table`
): Odbc\Result|false

テーブルの主キーを有するカラムの名前を取得する際に使用可能な結果オブジェクトを返します。

### パラメータ

`odbc`
  ODBC 接続オブジェクト。詳細は odbc_connect() を参照ください。
`catalog`

  カタログ(ODBC 2 の用語では '修飾子')。

`schema`

  スキーマ (ODBC 2 の用語では '所有者')。

`table`

### 戻り値

ODBC 結果オブジェクトを返します。失敗した場合に `false` を返します。

結果は以下のカラムを有します。

- `TABLE_CAT`
- `TABLE_SCHEM`
- `TABLE_NAME`
- `COLUMN_NAME`
- `KEY_SEQ`
- `PK_NAME`

ドライバは追加のカラムを返すことが出来ます。

結果セットは `TABLE_CAT`, `TABLE_SCHEM`, `TABLE_NAME`, `KEY_SEQ` でソートされます。

### 変更履歴

バージョン | 説明
--- | ---
8.4.0 | 引数 `odbc` は、Odbc\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、resource を期待していました。
8.4.0 | この関数は Odbc\Result クラスのインスタンスを返すようになりました。 これより前のバージョンでは、resource を返していました。

### 例

例1 プライマリーキーの一覧を表示する

    <?php
    $conn = odbc_connect($dsn, $user, $pass);
    $primarykeys = odbc_primarykeys($conn, 'TutorialDB', 'dbo', 'TEST');
    while (($row = odbc_fetch_array($primarykeys))) {
        print_r($row);
        break; // further rows omitted for brevity
    }
    ?>

上の例の出力は、 たとえば以下のようになります。

    Array
    (
        [TABLE_CAT] => TutorialDB
        [TABLE_SCHEM] => dbo
        [TABLE_NAME] => TEST
        [COLUMN_NAME] => id
        [KEY_SEQ] => 1
        [PK_NAME] => PK__TEST__3213E83FE141F843
    )

### 参考

- odbc_tables() - 指定したデータソースに保存されたテーブルの名前のリストを取得する
- odbc_foreignkeys() - 外部キーのリストを取得する

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