sql >> Base de Datos >  >> RDS >> Mysql

Error de campo varchar 1500 único de MySQL (n.º 1071:la clave especificada era demasiado larga)

Dado que almacenará URL en el link columna, en realidad no necesita usar UTF8 para ello, porque las URL solo pueden contener caracteres ASCII. Especificar una codificación de caracteres ASCII simple para su link columna incluso le permitirá aumentar su longitud máxima a 3072 caracteres.

CREATE TABLE IF NOT EXISTS `pages` (
  `link` varchar(1500) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
  `domain` varchar(255) NOT NULL,
  `lastvisited` datetime DEFAULT NULL,
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`),
  UNIQUE KEY `link` (`link`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ROW_FORMAT=DYNAMIC;

(Actualizado según la sugerencia de @eggyal para ascii_bin colación)