Version
Минимальная версия: 5.0.15.
Типы для хранения текстовых строк
Их есть много: CHAR, CHAR BINARY, VARCHAR, VARCHAR BINARY, BINARY,
VARBINARY, плюс кучка разных TEXT и BLOB полей.
CHAR и CHAR BINARY мутят с конечными пробелами, которые лучше обрезать при
необходимости контролируемо, ручками, на perl.
BINARY дописывает 0-байт до размера, поэтому врядли где-то будет полезен.
Размер VARCHAR был увеличен с 255 до 65535, поэтому необходимость в
TEXT/BLOB-полях резко уменьшилась.
Таким образом, для активного использования остаются 3 поля. Они отличаются:
-
Использованием charset - т.е. наличием перекодировки в процессе ввода/вывода в зависимости от charset таблицы/колонки/юзера.
-
Учитыванием регистра при сравнении, сортировке и проверок на уникальность поля.
-
Игнорированием конечных пробелов при сравнении, сортировке и проверках на уникальность поля.
| Макс. | Есть | Учит. | Игнор. | |
|---|---|---|---|---|
| Размер | charset | регистр | кон.проб. | |
| VARCHAR | 65535 | + | - | + |
| VARCHAR BINARY | 65535 | + | + | + |
| VARBINARY | 65535 | - | + | - |