function _db_create_keys_sql

7.x database.inc _db_create_keys_sql($spec)
6.x database.mysql-common.inc _db_create_keys_sql($spec)

Related topics

3 calls to _db_create_keys_sql()
db_add_field in drupal-6.x/includes/database.mysql-common.inc
Add a new field to a table.
db_change_field in drupal-6.x/includes/database.mysql-common.inc
db_create_table_sql in drupal-6.x/includes/database.mysql-common.inc
Generate SQL to create a new table from a Drupal schema definition.

File

drupal-6.x/includes/database.mysql-common.inc, line 96
Functions shared between mysql and mysqli database engines.

Code

function _db_create_keys_sql($spec) {
  $keys = array();

  if (!empty($spec['primary key'])) {
    $keys[] = 'PRIMARY KEY (' . _db_create_key_sql($spec['primary key']) . ')';
  }
  if (!empty($spec['unique keys'])) {
    foreach ($spec['unique keys'] as $key => $fields) {
      $keys[] = 'UNIQUE KEY ' . $key . ' (' . _db_create_key_sql($fields) . ')';
    }
  }
  if (!empty($spec['indexes'])) {
    foreach ($spec['indexes'] as $index => $fields) {
      $keys[] = 'INDEX ' . $index . ' (' . _db_create_key_sql($fields) . ')';
    }
  }

  return $keys;
}