значение КЛЮЧ в установке CREATE TABLE в MySQL - PullRequest
3 голосов
/ 12 июля 2011

Я работаю с 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 |

Но что это значит? Это не похоже на ПЕРВИЧНЫЙ КЛЮЧ, верно?

Спасибо.

Ответы [ 3 ]

7 голосов
/ 12 июля 2011

Это просто синоним INDEX. Создает индекс с именем ndx_PickupSPC для столбцов, указанных в скобках.

См. Синтаксис CREATE TABLE для получения дополнительной информации.

4 голосов
/ 12 июля 2011

Это просто неуникальный индекс. Из руководства

KEY обычно является синонимом INDEX.Атрибут ключа PRIMARY KEY также может быть указан как просто KEY, если он задан в определении столбца.Это было реализовано для совместимости с другими системами баз данных.

0 голосов
/ 12 июля 2011

Это ИНДЕКС на столе.Индексы обеспечивают быстрый поиск по конкретным запросам, которые проверяют значения столбцов, на которых построен индекс.В примере используется составной ключ.

Они немного похожи на индексы, которые вы найдете в конце книг.Вы можете быстро найти запись с указателем, не просматривая всю книгу.Базы данных обычно используют B-деревья для индексов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...