Я продолжаю получать этот код ошибки 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 - Неправильный префиксный ключ; используемая ключевая часть не является строкой, используемая длина длиннее ключевой части, или механизм хранения не поддержка уникальных префиксных ключей.
но я понятия не имею, что это значит, у кого есть ключ?
Ответы
Ответ 1
С частью
PRIMARY KEY (`movie_id`(3))
вы сообщаете mysql для создания ключа вспомогательной части * для первых трех букв идентификатора фильма. Это работает только для типов строк.
Вам нужно использовать
PRIMARY KEY (`movie_id`)
без предоставления длины.
* Является ли это уверенным, что запрос приводит к ошибке? Никогда не видел этого на первичном ключе, его использовали для индексов.