MySQL中CREATE TABLE语句中KEY的含义

问题描述 投票:4回答:4

我正在使用mysql。

我检查了CREATE表语句,并且看到一个关键字

| pickupspc | CREATE TABLE `pickupspc` (
  `McId` int(11) NOT NULL,
  `Slot` int(11) NOT NULL,
  `FromTime` datetime NOT NULL,
  `ToTime` datetime NOT NULL,
  `Head` int(11) NOT NULL,
  `Nozzle` int(11) DEFAULT NULL,
  `FeederID` int(11) DEFAULT NULL,
  `CompName` varchar(64) DEFAULT NULL,
  `CompID` varchar(32) DEFAULT NULL,
  `PickUps` int(11) DEFAULT NULL,
  `Errors` int(11) DEFAULT NULL,
  `ErrorCode` varchar(32) DEFAULT NULL,
  KEY `ndx_PickupSPC` (`McId`,`Slot`,`FromTime`,`ToTime`,`Head`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

但是它是什么意思?它不像是PRIMARY KEY吗?

谢谢。

mysql sql
4个回答
10
投票

它只是INDEX的同义词。它在括号中指定的列上创建名称为ndx_PickupSPC的索引。

请参阅CREATE TABLE语法以获取更多信息。


4
投票

这只是一个非唯一索引。 CREATE TABLE

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


0
投票

这是桌子上的索引。索引使快速查询特定查询成为可能,这些查询检查建立索引的列的值。该示例使用复合键。

它们与您在书末找到的索引有点类似。您可以快速找到带有索引的条目,而无需搜索整本书。数据库通常使用B树作为索引。


0
投票

键和索引相同。表创建中的“键”一词用于创建索引,从而可以提高性能。

在上面的代码中,键ndx_PickupSPC表示它正在括号中提到的列上以名称ndx_PickupSPC创建索引。

© www.soinside.com 2019 - 2024. All rights reserved.