Mysql
 sql >> Base de données >  >> RDS >> Mysql

Erreur de champ MySQL unique 1500 varchar (#1071 - La clé spécifiée était trop longue)

Puisque vous stockerez les URL dans le link colonne, vous n'avez pas besoin d'utiliser UTF8 pour cela, car les URL ne peuvent contenir que des caractères ASCII. Spécification d'un encodage de caractères ASCII simple pour votre link colonne vous permettra même d'augmenter sa longueur maximale à 3072 caractères.

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;

(Mise à jour selon la suggestion de @eggyal pour le ascii_bin classement)