sql >> Databasteknik >  >> RDS >> Mysql

MySQL unikt 1500 varchar-fältfel (#1071 - Angiven nyckel var för lång)

Eftersom du kommer att lagra webbadresser i link kolumnen behöver du faktiskt inte använda UTF8 för det, eftersom webbadresser endast kan innehålla ASCII-tecken. Ange en vanlig ASCII-teckenkodning för din link kolumnen låter dig till och med höja dess maxlängd till 3072 tecken.

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;

(Uppdaterad enligt @eggyals förslag för ascii_bin sortering)




  1. Uppgradera PostgreSQL JSON-kolumnen till JSONB?

  2. Många till många inuti Många till många Tabell

  3. MySQL:Få ett radnummer (ranking) för en specifik rad

  4. hur säker anslutning till Googles databas med offentlig ip (0.0.0.0)?