Какой правильный тип данных текста использовать в MySQL? - PullRequest
3 голосов
/ 09 февраля 2011

Есть VARCHAR, CHAR, TEXT, BIGTEXT, BLOB ...

Какой тип данных используется для хранения небольших текстовых полей (например, что-то вроде first_name)?

Ответы [ 2 ]

3 голосов
/ 09 февраля 2011

Я обычно использую VARCHAR для большинства небольших текстовых полей, если только я не знаю, что поле будет иметь фиксированный размер, например сокращение штата США, где я использовал бы CHAR (2).

0 голосов
/ 09 февраля 2011

«Правильно» - сильное слово, но большинство людей, вероятно, будут использовать VARCHAR. CHAR тоже вариант, но в моем опыте он используется не так часто. Эта страница объясняет разницу.

Одно из заметных отличий между CHAR и VARCHAR в последних версиях MySQL заключается в том, что CHAR не способен хранить конечные пробелы (поскольку столбец автоматически дополняется до максимальной длины пробелами). Поэтому, если вы сохраните что-то вроде 'abc ', оно будет восстановлено как 'abc'. Это может не иметь значения для большинства приложений, но об этом следует помнить. Аналогично, до 5.03 конечные пробелы удаляются из полей VARCHAR перед вставкой. Поэтому, если вам нужно хранить произвольные байтовые значения и не беспокоиться о различном поведении между версиями MySQL, вам следует использовать один из типов BLOB.

...