主键与键

时间:2010-02-04 11:37:52

标签: mysql primary-key key

创建包含数据库结构的mysql转储时,其中一个表显示以下内容:

CREATE TABLE `completedTransactions` (
  `paymentId` int(10) unsigned NOT NULL,
  `timestamp` int(15) unsigned NOT NULL,
  `actionTaken` varchar(25) NOT NULL,
  `response` varchar(255) NOT NULL,
  `responseCode` int(5) NOT NULL,

  PRIMARY KEY  (`paymentId`,`timestamp`),
  KEY `paymentId` (`paymentId`),

主键是我所期待的,但我不确定最后一行是什么?

KEY `paymentId` (`paymentId`),

这与索引有关吗?

3 个答案:

答案 0 :(得分:13)

是的,KEY关键字只是INDEX关键字的别名。

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
  ...
  {INDEX|KEY} [index_name] [index_type] (index_col_name,...)
      [index_option] ...

来源:MySQL Documentation: CREATE TABLE

答案 1 :(得分:3)

KEY不是唯一的,PRIMARY KEYUNIQUE KEY是唯一的。

答案 2 :(得分:2)

引用CREATE TABLE的文档:

  

KEY通常是INDEX的同义词。   
关键属性PRIMARY KEY也可以   在给出时被指定为KEY   列定义。这是   实现与...的兼容性   其他数据库系统。