我有一个 newbie question,如下红字标注的部分
CREATE TABLE `titles` (
  `emp_no` int(11) NOT NULL,
  `title` varchar(50) NOT NULL,
  `from_date` date NOT NULL,
  `to_date` date default NULL,
  PRIMARY KEY  (`emp_no`,`title`,`from_date`),
  KEY `emp_no` (`emp_no`),
  CONSTRAINT `titles_ibfk_1` FOREIGN KEY (`emp_no`) REFERENCES `employees` (`emp_no`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8红字标注的部分到底有什么用么,我搜索出什么候选键之类的答案,希望得到其他更为具体的答案

解决方案 »

  1.   

    KEY `emp_no` (`emp_no`)表示这个表的主键是 emp_no 字段,第一个 `emp_no` 是主键约束的名字,
    第二个 `emp_no`(圆括号里面的)是这个约束所引用的字段;
      

  2.   

    红字标注的部分到底有什么用么,我搜索出什么候选键之类的答案
    是索引 相当于建立了目录  在搜索emp_no的时候 从目录直接找到具体的位置  而不用所有数据都扫描一遍
      

  3.   

    KEY `emp_no` (`emp_no`),是INDEX KEY的简写,也就是创建一个普通的索引。