Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro de campo varchar exclusivo do MySQL 1500 (#1071 - A chave especificada era muito longa)


Como você armazenará URLs no link coluna, você não precisa usar UTF8 para isso, porque as URLs podem conter apenas caracteres ASCII. Especificando uma codificação de caracteres ASCII simples para seu link coluna ainda permitirá que você aumente seu comprimento máximo para 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;

(Atualizado conforme sugestão de @eggyal para o ascii_bin agrupamento)