sql >> Database >  >> RDS >> Mysql

MySQL unieke 1500 varchar veldfout (#1071 - Opgegeven sleutel was te lang)

Aangezien u URL's opslaat in de link kolom, hoeft u er eigenlijk geen UTF8 voor te gebruiken, omdat URL's alleen ASCII-tekens kunnen bevatten. Een gewone ASCII-tekencodering opgeven voor uw link kolom kunt u zelfs de maximale lengte verhogen tot 3072 tekens.

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;

(Bijgewerkt volgens de suggestie van @eggyal voor de ascii_bin sortering)




  1. Een geheel getal van een db-kolom converteren naar tekst in oracle

  2. Werken met gebeurtenissen in Oracle Cloud Infrastructure Deel 1:basisprincipes van services

  3. MySQL-query om best verkopende producten te krijgen

  4. Oracle invoegen van select in tabel met meer kolommen