Первичный ключ по сравнению с ключом

При создании дампа 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`),

Это связано с индексом?

13
задан Daniel Vassallo 4 February 2010 в 11:39
поделиться

3 ответа

Да, ключевое слово KEY - это просто псевдоним для ключевого слова INDEX .

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

Источник: Документация MySQL: CREATE TABLE

13
ответ дан 1 December 2019 в 23:31
поделиться

Цитата из документации CREATE TABLE :

КЛЮЧ обычно является синонимом ИНДЕКС .
Атрибут ключа ПЕРВИЧНЫЙ КЛЮЧ также может быть указан как просто KEY , если он указан в определении столбца. Это было реализовано для совместимости с другими системами баз данных.

2
ответ дан 1 December 2019 в 23:31
поделиться

KEY не уникален, PRIMARY KEY и UNIQUE KEY уникальны.

3
ответ дан 1 December 2019 в 23:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: