sql >> Database >  >> RDS >> Mysql

Hoe kan ik een geïndexeerde varchar(255) wijzigen van utf8 naar utf8mb4 en toch onder de maximale sleutellengte van 767 blijven?

Ik denk dat het verband houdt met de maximale gegevenslengte van de rij, er is zo'n beperking, althans voor stringgegevenstypen zoals ik weet. Om dit te voorkomen, probeert u de gegevens van de tabel te scheiden, b.v. split tafel in twee tabellen met behulp van een-op-een relatie.

Over de maximale sleutellengte:ik heb geprobeerd een tabel te maken met geïndexeerde utf8mb4 veld, het is met succes gemaakt met sleutellengte 191, maar toen ik het instelde op 192, gaf het een fout - Opgegeven sleutel was te lang; maximale sleutellengte is 767 bytes .



  1. Hoe kunt u zien of een PL/SQL-pakket, procedure of functie wordt gebruikt?

  2. SQL Server 2000 - Gekoppelde server

  3. Toon alle query's die naar een Oracle-database komen

  4. Hoe SYS_GUID() werkt in MariaDB