186 votes

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 fait le KEY mot-clé signifie ? Il ne s'agit pas d'une clé primaire, ni d'une clé étrangère, il s'agit donc simplement d'un index ? Si c'est le cas, qu'est-ce qui est si spécial à propos de ce type d'index créé avec KEY ?

225voto

MartinodF Points 4213

Citation de create-table - index et clés

{INDEX|KEY}

Alors KEY est généralement un INDEX

KEY est normalement un synonyme d'INDEX. L'attribut de clé PRIMARY KEY peut également être spécifié comme étant simplement KEY lorsqu'il est indiqué dans une définition de colonne. Ce site a été mis en place pour des raisons de compatibilité avec d'autres systèmes de bases de données.

38voto

sergtk Points 3109

KEY est normalement un synonyme de INDEX . L'attribut clé PRIMARY KEY peut également être spécifié comme juste KEY lorsqu'elle est donnée dans une définition de colonne. Ceci a été implémenté 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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X