You are here

protected function Schema::findPrimaryKeyColumns in Drupal 10

Same name in this branch
  1. 10 core/lib/Drupal/Core/Database/Schema.php \Drupal\Core\Database\Schema::findPrimaryKeyColumns()
  2. 10 core/modules/sqlite/src/Driver/Database/sqlite/Schema.php \Drupal\sqlite\Driver\Database\sqlite\Schema::findPrimaryKeyColumns()
  3. 10 core/modules/pgsql/src/Driver/Database/pgsql/Schema.php \Drupal\pgsql\Driver\Database\pgsql\Schema::findPrimaryKeyColumns()
  4. 10 core/modules/mysql/src/Driver/Database/mysql/Schema.php \Drupal\mysql\Driver\Database\mysql\Schema::findPrimaryKeyColumns()

Finds the primary key columns of a table, from the database.

Parameters

string $table: The name of the table.

Return value

string[]|false A simple array with the names of the columns composing the table's primary key, or FALSE if the table does not exist.

Throws

\RuntimeException If the driver does not override this method.

Overrides Schema::findPrimaryKeyColumns

1 call to Schema::findPrimaryKeyColumns()
Schema::dropField in core/modules/mysql/src/Driver/Database/mysql/Schema.php
Drop a field.

File

core/modules/mysql/src/Driver/Database/mysql/Schema.php, line 525

Class

Schema
MySQL implementation of \Drupal\Core\Database\Schema.

Namespace

Drupal\mysql\Driver\Database\mysql

Code

protected function findPrimaryKeyColumns($table) {
  if (!$this
    ->tableExists($table)) {
    return FALSE;
  }
  $result = $this->connection
    ->query("SHOW KEYS FROM {" . $table . "} WHERE Key_name = 'PRIMARY'")
    ->fetchAllAssoc('Column_name');
  return array_keys($result);
}