sql >> Database teknologi >  >> RDS >> Mysql

Hvordan kan jeg ændre en indekseret varchar(255) fra utf8 til utf8mb4 og stadig holde mig under nøglelængden på 767 max?

Jeg tror, ​​det er forbundet med den maksimale datalængde af rækken, der er en sådan begrænsning, i det mindste for strengdatatyper, som jeg ved. For at undgå dette, prøv at adskille tabellens data, f.eks. opdele tabel i to tabeller ved hjælp af en-til-en relation.

Om den maksimale nøglelængde:Jeg har forsøgt at oprette tabel med indekseret utf8mb4 felt, blev det oprettet med nøglelængde 191, men da jeg satte det til 192, gav det en fejl - Den angivne nøgle var for lang; max nøglelængde er 767 bytes .



  1. ORA-12519 TNS:ingen passende servicehandler fundet

  2. Sådan opretter du forbindelse til MySQL fra kommandolinjen

  3. Array datatype, opdelt streng,

  4. Java-ækvivalent til PHP's mysql_real_escape_string()