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

#1071 — Określony klucz był za długi; maksymalna długość klucza to 767 bajtów

Właśnie nauczyłem się obejść ... Pobierz 5.5.14 lub 5.6.3 (lub nowszy), wykonaj ZESTAWY wskazane tutaj i użyj opcji DYNAMICZNE lub SKOMPRESOWANE:

SET GLOBAL innodb_file_per_table = ON,
           innodb_file_format = Barracuda,
           innodb_large_prefix = ON;
CREATE TABLE so29676724 (
  `id` INT NOT NULL AUTO_INCREMENT,
  `hashtag` VARCHAR(255) NOT NULL COMMENT 'hashtag must be unique. Must be saved without #',
   PRIMARY KEY (`id`),
  UNIQUE INDEX `hashtags_hashtag` (`hashtag` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET  utf8mb4
ROW_FORMAT = COMPRESSED;

SHOW CREATE TABLE so29676724\G

mysql> CREATE TABLE so29676724 (
    ->   `id` INT NOT NULL AUTO_INCREMENT,
    ->   `hashtag` VARCHAR(255) NOT NULL COMMENT 'hashtag must be unique. Must be saved without #',
    ->    PRIMARY KEY (`id`),
    ->   UNIQUE INDEX `hashtags_hashtag` (`hashtag` ASC)
    -> )
    -> ENGINE = InnoDB
    -> DEFAULT CHARACTER SET  utf8mb4
    -> ROW_FORMAT = COMPRESSED;
Query OK, 0 rows affected (0.09 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL SUMA GRUPA WG

  2. MySQL Select... do aktualizacji z indeksem ma problem ze współbieżnością

  3. php:sesje a baza danych

  4. Ustawienie wartości dla jednej kolumny wszystkich rekordów w tabeli

  5. .NET Core 2.0 z MySQL:Określony klucz był za długi; maksymalna długość klucza to 3072 bajty