это - Является ли VARCHAR(20000) действительным в MySQL?




varchar sql (4)

Если вы ожидаете слишком больших затрат, лучше использовать TEXT, MEDIUMTEXT или LONGTEXT.

Мне нужно некоторое уточнение максимальной длины поля varchar в MySQL.

Я всегда считал, что максимальная длина равна 255 (255 символов, которые я предположил, но это может быть источником моей путаницы). Взглянув на таблицы базы данных, созданные внешней компанией, с которой мы работаем, я вижу настройку поля как varchar (20000), содержащую куски xml длиной более 255 символов. Почему это работает? Является ли 20000 действительным значением?

Немного googling показал, что в mysql varchar имеет предел 65 535 байт, и я вижу varchar (65535) в использовании , так как же предел 255 связан с этим?


Обратите внимание на версии MySQL.

http://dev.mysql.com/doc/refman/5.0/en/char.html

Значения в столбцах VARCHAR представляют собой строки переменной длины. Длина может быть указана как значение от 0 до 255 до MySQL 5.0.3 и от 0 до 65535 в 5.0.3 и более поздних версиях. Эффективная максимальная длина VARCHAR в MySQL 5.0.3 и более поздних версиях зависит от максимального размера строки (65 535 байт, которая распределяется между всеми столбцами) и используемого набора символов.

Какую версию MySQL у меня есть?

Выполните следующий запрос ...

select version() as myVersion

Руководство пользователя MySQL

Значения в столбцах VARCHAR представляют собой строки переменной длины. Длина может быть указана как значение от 0 до 255 до MySQL 5.0.3 и от 0 до 65535 в 5.0.3 и более поздних версиях.

Так что это зависит от версии, которую вы используете.


У этого вопроса уже есть ответ на вопрос: Каков максимальный размер MySQL VARCHAR?

Имейте в виду, что MySQL имеет максимальный предел размера строки

Внутреннее представление таблицы MySQL имеет максимальный предел размера строки 65 535 байт, не считая типы BLOB и TEXT. Столбцы BLOB и TEXT вносят только от 9 до 12 байт к пределу размера строки, потому что их содержимое хранится отдельно от остальной части строки. Узнайте больше о значениях столбцов и столбцов таблицы.

Максимальный размер одного столбца может занимать, отличается до и после MySQL 5.0.3

Значения в столбцах VARCHAR представляют собой строки переменной длины. Длина может быть указана как значение от 0 до 255 до MySQL 5.0.3 и от 0 до 65535 в 5.0.3 и более поздних версиях. Эффективная максимальная длина VARCHAR в MySQL 5.0.3 и более поздних версиях зависит от максимального размера строки (65 535 байт, которая распределяется между всеми столбцами) и используемого набора символов.

Однако обратите внимание, что предел ниже, если вы используете многобайтовый набор символов, например utf8 или utf8mb4.

Используйте TEXT типы, чтобы преодолеть ограничение размера строки.

Четыре типа TEXT - TINYTEXT, TEXT, MEDIUMTEXT и LONGTEXT. Они соответствуют четырем типам BLOB и имеют одинаковую максимальную длину и требования к хранению.





varchar