MySQL CHARACTER SET utf8mb4 Длина VARCHAR

0

Провел последние несколько дней, ища какие-либо преобразования, полученные с разных поддерживаемых кодировок MySQL, в utf8mb4. Кажется, что самая большая проблема, с которой сталкивается большинство людей, состоит в том, что 4-байтовые символы означают, что максимальная длина индексов InnoDB для таких типов столбцов, как VARCHAR, ограничена 191, а не 255. Также упоминается, что размеры столбцов для -индексированный столбец VARCHAR должен быть 191, а не 255.

После тестирования я вижу, что вы получаете сообщение об ошибке при преобразовании столбца в 255, если оно проиндексировано, но не тогда, когда оно не индексируется. Есть ли причина уменьшить длину неиндексированного столбца VARCHAR с 255 до 191, если в будущем нет возможности индексировать его?

Теги:
character-encoding
utf-8
utf8mb4

1 ответ

2

Прочтите это для обсуждения предела 767 и различных обходных решений. Обратите внимание, что одним из способов является обновление до версии 5.7, что увеличивает предел за 3 КБ.

(Я изменяю ваш заголовок, поскольку сортировка не имеет отношения к Вопросу.)

  • 0
    Обновление до 5.7 стоит того по ряду причин, например, но особенно для поддержки столбцов JSON.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню