una tabla solamente ser puede pudo este error definido debe datos crear como columna clave campo automatico ajena mysql

tabla - mysql error 1089



Sigo recibiendo este código de error mysql#1089 (3)

Con la parte

PRIMARY KEY (`movie_id`(3))

le está diciendo a mysql que cree una clave de subparte * en los primeros 3 bytes de identificación de la película. Esto solo funciona para los tipos de cadena.

Necesitas usar

PRIMARY KEY (`movie_id`)

sin proporcionar una longitud.

* ¿Es seguro que la consulta provocó el error? Nunca vi eso en una clave primaria, se usa para índices.

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;

Sigo recibiendo este error:

# 1089 - Clave de prefijo incorrecta; la parte clave utilizada no es una cadena, la longitud utilizada es más larga que la parte clave o el motor de almacenamiento no admite claves de prefijo únicas.

pero no tengo idea de lo que significa, ¿alguien tiene idea?


También puede obtener este error al crear un índice si especifica una longitud de prefijo que es más larga que la longitud de la columna real. Si intentó crear un índice que contiene someColumn(20) pero en la tabla someColumn es VARCHAR(15) , se producirá este error.


después de seleccionar PRIMARY KEY al crear la tabla, no ingrese ningún valor en el cuadro de diálogo emergente