sql >> Database >  >> RDS >> Mysql

MySQL VARCHAR(255) UTF8 is te lang voor de sleutel, maar de maximale lengte is 1000 bytes

Als u utf8mb4 gebruikt en u unieke indexen op varchar-kolommen hebt die langer zijn dan 191 tekens, moet u innodb_large_prefix inschakelen om grotere kolommen in indexen toe te staan, omdat utf8mb4 meer opslagruimte vereist dan utf8 of latin1 . Voeg het volgende toe aan uw my.cnf-bestand.

[mysqld]
innodb_file_format=barracuda
innodb_file_per_table=1
innodb_large_prefix=1
init_connect='SET collation_connection = utf8mb4_unicode_ci; SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

Meer info over het waarom en de toekomst van MySQL 5.7-documentatie :

Kortom, de limiet is er alleen voor compatibiliteit en zal in toekomstige versies worden verhoogd.



  1. Hoe MySql 8 met laravel te laten werken?

  2. Oracle Express Edition voor SQL Practice installeren

  3. RAWTOHEX() Functie in Oracle

  4. PHP &MySQL:Opgeslagen TIMESTAMP converteren naar de lokale tijdzone van de gebruiker