Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL VARCHAR(255) UTF8 е твърде дълъг за ключ, но максималната дължина е 1000 байта

Ако използвате utf8mb4 и имате уникални индекси на varchar колони, които са по-големи от 191 знака на дължина, ще трябва да включите innodb_large_prefix, за да позволите по-големи колони в индексите, защото utf8mb4 изисква повече място за съхранение от utf8 или latin1 . Добавете следното към вашия файл 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

Повече информация за защо и бъдещето от документацията на MySQL 5.7 :

За да обобщим, ограничението е налице само за съвместимост и ще бъде увеличено в бъдещи версии.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Сигналът за запис на Django пост се извиква два пъти въпреки uid

  2. Как да определите версията на MySQL

  3. Имате проблеми с MySQL Join, което трябва да отговаря на множество условия

  4. LibreOffice:'com.mysql.jdbc.driver' не може да се зареди

  5. Как да подобрим производителността на заявката с много JOIN