Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL VARCHAR(255) UTF8 jest za długi dla klucza, ale maksymalna długość to 1000 bajtów

Jeśli używasz utf8mb4 i masz unikalne indeksy w kolumnach varchar, które mają długość większą niż 191 znaków, musisz włączyć innodb_large_prefix, aby zezwolić na większe kolumny w indeksach, ponieważ utf8mb4 wymaga więcej miejsca do przechowywania niż utf8 lub latin1 . Dodaj następujące elementy do swojego pliku my.cnf.

[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

Więcej informacji o przyczynach i przyszłości znajdziesz w dokumentacji MySQL 5.7 :

Podsumowując, limit istnieje tylko w celu zapewnienia kompatybilności i zostanie zwiększony w przyszłych wersjach.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę ustawić sesję w bazie codeigniter 3?

  2. Długość nazwy tabeli lub nazwy kolumny wpływa na wydajność?

  3. Wybierz dane między 2 datami a średnią godzinową wydajnością

  4. PHP float/double przechowywane jako MySQL DECIMAL

  5. Modelowanie baz danych do celów międzynarodowych i wielojęzycznych