# odbc_primarykeys

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

odbc_primarykeys — Gets the primary keys for a table

### 说明

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

Returns a result object that can be used to fetch the column names that comprise the primary key for a table.

### 参数

`odbc`

  ODBC 连接对象，详见 odbc_connect()。

`catalog`

  The catalog ('qualifier' in ODBC 2 parlance).

`schema`

  The schema ('owner' in ODBC 2 parlance).

`table`

### 返回值

返回 ODBC 结果对象 或者在失败时返回 `false`。

The result set has the following columns:

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

Drivers can report additional columns.

The result set is ordered by `TABLE_CAT`, `TABLE_SCHEM`, `TABLE_NAME` and `KEY_SEQ`.

### 更新日志

版本 | 说明
--- | ---
8.4.0 | `odbc` 现在需要 Odbc\Connection 实例；之前需要 resource。
8.4.0 | 此函数现在返回 Odbc\Result 实例；之前返回 resource。

### 示例

示例 #1 List primary Keys of a Column

`<?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() - Get the list of table names stored in a specific data source
- odbc_foreignkeys() - Retrieves a list of foreign keys

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