web-dev-qa-db-ja.com

KEYキーワードの意味は何ですか?

この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)
);

KEYキーワードの意味は何ですか?これは主キーではなく、外部キーではないので、単なるインデックスですか?もしそうなら、KEYで作成されたこのタイプのインデックスの特別なところは何ですか?

129
Stan

http://dev.mysql.com/doc/refman/5.1/en/create-table.html から引用

{INDEX|KEY}

KEYはINDEXです;)

177
MartinodF

KEYは通常、INDEXの同義語です。キー属性PRIMARY KEYは、列定義で指定された場合、単なるKEYとして指定することもできます。これは、他のデータベースシステムとの互換性のために実装されました。

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

参照: http://dev.mysql.com/doc/refman/5.1/en/create-table.html

33
sergtk