sql >> Database >  >> RDS >> Mysql

#1071 - Opgegeven sleutel was te lang; maximale sleutellengte is 767 bytes

Ik heb zojuist een tijdelijke oplossing geleerd... Download 5.5.14 of 5.6.3 (of hoger), voer de hier aangegeven SETs uit en gebruik DYNAMIC of COMPRESSED:

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. Hoe FULL OUTER JOIN in ORACLE uit te voeren met de '+'-operator?

  2. Het opgegeven argument is geen geldige MySQL-resultaatbron bij het aanroepen van mysql_fetch_array()

  3. PHP Databaseresultaat toevoegen aan multidimensionale array

  4. Problemen met het combineren van HAVING met WHERE op een zeer eenvoudige QUERY