sql >> Databáze >  >> RDS >> Mysql

Jedinečná chyba pole MySQL 1500 varchar (#1071 – zadaný klíč byl příliš dlouhý)

Protože adresy URL budete ukládat do link ve skutečnosti pro něj nemusíte používat UTF8, protože adresy URL mohou obsahovat pouze znaky ASCII. Určení prostého kódování znaků ASCII pro váš link vám dokonce umožní zvýšit jeho maximální délku na 3072 znaků.

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;

(Aktualizováno podle návrhu @eggyal pro ascii_bin řazení)




  1. Předávání nulového/prázdného řetězce do uložené procedury Oracle z asp.net

  2. PostgreSQL vytvořit tabulku, pokud neexistuje

  3. Nainstalujte webový server ve Windows XP s Apache2, PHP5 a MySQL4 – část 4

  4. Postgresql:Seskupování s omezením velikosti skupiny pomocí funkcí okna