Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

#1071 - Kunci yang ditentukan terlalu panjang; panjang kunci maksimal adalah 767 byte

Saya baru saja mempelajari solusinya... Dapatkan 5.5.14 atau 5.6.3 (atau lebih baru), lakukan SET yang ditunjukkan di sini, dan gunakan DINAMIS atau TERKOMPRESI:

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. Apakah mungkin melakukan replikasi N-master => 1-slave dengan MySQL?

  2. Mengintegrasikan gambar dengan jQuery AutoComplete

  3. Python Pandas - Menggunakan to_sql untuk menulis bingkai data besar dalam potongan

  4. cara mendapatkan baris berbeda dengan nilai maksimal

  5. Menulis satu kueri untuk beberapa kueri dengan kondisi tabel yang sama