Подтвердить что ты не робот

Я продолжаю получать этот код ошибки mysql # 1089

CREATE TABLE `movies`.`movie`
( `movie_id` INT(3) NULL AUTO_INCREMENT, `movie_name` VARCHAR(25) NULL,
  `movie_embedded_id` VARCHAR(50) NULL, `rating_no` INT(3) NULL,
  `movie_description` VARCHAR(50) NULL, PRIMARY KEY (`movie_id`(3))) ENGINE = InnoDB;

Я продолжаю получать эту ошибку:

# 1089 - Неправильный префиксный ключ; используемая ключевая часть не является строкой, используемая длина длиннее ключевой части, или механизм хранения не поддержка уникальных префиксных ключей.

но я понятия не имею, что это значит, у кого есть ключ?

4b9b3361

Ответ 1

С частью

PRIMARY KEY (`movie_id`(3))

вы сообщаете mysql для создания ключа вспомогательной части * для первых трех букв идентификатора фильма. Это работает только для типов строк.

Вам нужно использовать

PRIMARY KEY (`movie_id`)

без предоставления длины.

* Является ли это уверенным, что запрос приводит к ошибке? Никогда не видел этого на первичном ключе, его использовали для индексов.