日期:2014-05-16  浏览次数:20993 次

mysql中key的意思
我现在在学mysql,想问一下下面语句中的KEY   uid   (uid)是什么意思,这key的语法在那有说,谢谢
CREATE   TABLE   cdb_activityapplies   (
    applyid   int(10)   unsigned   NOT   NULL   auto_increment,
    tid   mediumint(8)   unsigned   NOT   NULL   default   '0 ',
    username   char(15)   NOT   NULL   default   ' ',
    uid   mediumint(8)   unsigned   NOT   NULL   default   '0 ',
    message   char(200)   NOT   NULL   default   ' ',
    verified   tinyint(1)   NOT   NULL   default   '0 ',
    dateline   int(10)   unsigned   NOT   NULL   default   '0 ',
    payment   mediumint(8)   NOT   NULL   default   '0 ',
    PRIMARY   KEY     (applyid),
    KEY   uid   (uid),
    KEY   tid   (tid),
    KEY   dateline   (tid,dateline)
)   TYPE=MyISAM   AUTO_INCREMENT=1;



------解决方案--------------------
候选键
------解决方案--------------------
KEY通常是INDEX同义词。如果关键字属性PRIMARY KEY在列定义中已给定,则PRIMARY KEY也可以只指定为KEY。这么做的目的是与其它数据库系统兼容。

PRIMARY KEY是一个唯一KEY,此时,所有的关键字列必须定义为NOT NULL。如果这些列没有被明确地定义为NOT NULL,MySQL应隐含地定义这些列。一个表只有一个PRIMARY KEY。如果您没有PRIMARY KEY并且一个应用程序要求在表中使用PRIMARY KEY,则MySQL返回第一个UNIQUE索引,此索引没有作为PRIMARY KEY的NULL列。