KEY关键字的含义是什么?

时间:2009-05-29 03:31:14

标签: mysql indexing

在这个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创建的此类索引有什么特别之处?

2 个答案:

答案 0 :(得分:174)

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

{INDEX|KEY}

所以KEY是一个INDEX;)

答案 1 :(得分:33)

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