web-dev-qa-db-fra.com

Que signifie le mot clé KEY?

Dans cette définition de table MySQL:

CREATE TABLE groups (
  ug_main_grp_id smallint NOT NULL default '0',
  ug_uid smallint  default NULL,
  ug_grp_id smallint  default NULL,
  KEY (ug_main_grp_id)
);

Que signifie le mot clé KEY? Ce n'est pas une clé primaire, ce n'est pas une clé étrangère, alors s'agit-il simplement d'un index? Si tel est le cas, en quoi ce type d’index créé avec KEY a-t-il une particularité?

129
Stan

Citant de http://dev.mysql.com/doc/refman/5.1/en/create-table.html

{INDEX|KEY}

Donc, la clé est un index;)

177
MartinodF

KEY est normalement synonyme de INDEX. L'attribut de clé PRIMARY KEY peut également être spécifié en tant que KEY lorsqu'il est indiqué dans une définition de colonne. Cela a été mis en œuvre pour la compatibilité avec d'autres systèmes de base de données.

column_definition:
      data_type [NOT NULL | NULL] [DEFAULT default_value]
      [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
      ...

Réf.: http://dev.mysql.com/doc/refman/5.1/en/create-table.html

33
sergtk