Mysql
 sql >> Database >  >> RDS >> Mysql

Errore di campo MySQL unico 1500 varchar (#1071 - La chiave specificata era troppo lunga)

Poiché memorizzerai gli URL nel link colonna, in realtà non è necessario utilizzare UTF8, perché gli URL possono contenere solo caratteri ASCII. Specificando una semplice codifica dei caratteri ASCII per il tuo link colonna ti consentirà anche di aumentare la sua lunghezza massima a 3072 caratteri.

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;

(Aggiornato secondo il suggerimento di @eggyal per ascii_bin confronto)