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

MySQL unikke 1500 varchar feltfejl (#1071 - Den angivne nøgle var for lang)

Da du vil gemme URL'er i link kolonne, behøver du faktisk ikke bruge UTF8 til det, fordi URL'er kun kan indeholde ASCII-tegn. Angivelse af en almindelig ASCII-tegnkodning for dit link kolonne vil endda tillade dig at hæve dens maksimale længde til 3072 tegn.

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;

(Opdateret i henhold til @eggyals forslag til ascii_bin sortering)




  1. Sådan søger du efter flere søgeord i sql

  2. SQL COUNT() for begyndere

  3. Hvordan kan jeg forbedre denne Mailing Address SQL Server SELECT-erklæring?

  4. Sådan konfigureres MariaDB 10.3-replikering ved hjælp af Ansible og Vagrant