Código SQL:
Ver original
CREATE TABLE `articles` ( `idarticles` INT(11) NOT NULL AUTO_INCREMENT, `title` VARCHAR(45) NOT NULL, `article` text NOT NULL, `summary` tinytext, `tags` tinytext, `idusers` INT(11) DEFAULT NULL, `idcategories` INT(11) DEFAULT NULL, `datetime` datetime NOT NULL, `idcollections` INT(11) DEFAULT NULL, PRIMARY KEY (`idarticles`), KEY `title` (`title`), KEY `idusers_idx` (`idusers`), KEY `idcategories_idx` (`idcategories`), KEY `datetime` (`datetime`), KEY `idcollections_idx` (`idcollections`), CONSTRAINT `idcategories` FOREIGN KEY (`idcategories`) REFERENCES `categories` (`idcategories`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `idcollections` FOREIGN KEY (`idcollections`) REFERENCES `collections` (`idcollections`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `idusers` FOREIGN KEY (`idusers`) REFERENCES `users` (`idusers`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8
Esto lo creó MySQL Workbench.
Con el mismo MySQL Workbench, he querido cambiar el varchar(45) de la columna title, ya que se me queda corto con 45 caracteres, y lo quiero poner en TINYTEXT, ya que es el siguiente en longitud más grande.
Al aplicarlo en el diagrama ERR no me dió ningún error, pero al actualizarlo en la BD sí me dio un error, es el siguiente
Cita:
No entiendo por qué ese error, ¿alguien puede ayudarme?Executing SQL script in server
ERROR: Error 1170: BLOB/TEXT column 'title' used in key specification without a key length
SQL Code:
ALTER TABLE `bitplace`.`articles`
CHANGE COLUMN `title` `title` TINYTEXT NOT NULL COMMENT ''
SQL script execution finished: statements: 3 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch
ERROR: Error 1170: BLOB/TEXT column 'title' used in key specification without a key length
SQL Code:
ALTER TABLE `bitplace`.`articles`
CHANGE COLUMN `title` `title` TINYTEXT NOT NULL COMMENT ''
SQL script execution finished: statements: 3 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch
Saludos :D