Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd pola unikatowego MySQL 1500 varchar (nr 1071 — określony klucz jest za długi)

Ponieważ będziesz przechowywać adresy URL w link kolumna, tak naprawdę nie trzeba do tego używać UTF8, ponieważ adresy URL mogą zawierać tylko znaki ASCII. Określanie zwykłego kodowania znaków ASCII dla Twojego link kolumna pozwoli nawet zwiększyć jej maksymalną długość do 3072 znaków.

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;

(Zaktualizowano zgodnie z sugestią @eggyal dla ascii_bin zestawienie)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jquery replacewith, aby uzyskać dane za pomocą Ajax po kliknięciu komórki

  2. Kod błędu:1062. Zduplikowany wpis „1” dla klucza „PRIMARY”

  3. Przełączanie awaryjne i powrót po awarii w Amazon RDS

  4. Uzyskaj SUM w GROUP BY z JOIN przy użyciu MySQL

  5. Laravel Schema Builder :Tworzenie kolumny binarnej(16)