Является ли VARCHAR(20000) действительным в MySQL?
Мне нужно некоторое уточнение максимальной длины поля varchar в MySQL.
Я всегда думал, что максимальная длина 255 (255 что? Персонажи, которые я предполагал, но это может быть источником моей путаницы). Взглянув на таблицы базы данных, созданной внешней компанией, с которой мы работаем, я вижу настройку поля как varchar(20000), содержащую куски xml длиной более 255 символов. Почему это работает? Является ли 20000 допустимым значением?
немного погуглил показал, что в mysql varchar имеет предел 65 535 байт, и я вижу, что varchar(65535) используется, так как предел 255 относится к этому?
6 ответов:
обратите внимание на версии MySQL.
http://dev.mysql.com/doc/refman/5.0/en/char.html
значения в Столбцах VARCHAR являются строками переменной длины. Длина может быть определена как значение от 0 до 255 перед MySQL 5.0.3, и от 0 до 65.535 в 5.0.3 и более поздних версиях. Эффективная максимальная длина VARCHAR в MySQL 5.0.3 и позже зависит от максимального размера строки (65 535 байт, который является общим для всех столбцов) и набора символов используемый.
какая версия MySQL у меня есть?
выполните следующий запрос...
select version() as myVersion
он действителен с версии 5.0.3, когда они изменили максимальную длину с 255 до 65535.
CHARвсегда было 255 макс.
Если вы ожидаете слишком большие входы, его лучше использовать текст, MEDIUMTEXT или LONGTEXT вместо этого.
этот вопрос уже есть ответ в Что такое максимальный размер MySQL VARCHAR?
имейте в виду, что MySQL имеет ограничение максимального размера строки
внутреннее представление таблицы MySQL имеет максимальный предел размера строки 65 535 байт, не считая типов BLOB и TEXT. Столбцы BLOB и TEXT вносят только от 9 до 12 байт в ограничение размера строки, поскольку их содержимое хранится отдельно от остальной части строки. Читать дальше о ограничения на количество столбцов таблицы и размер строки.
максимальный размер, который может занимать один столбец, отличается до и после MySQL 5.0.3
значения в Столбцах VARCHAR являются строками переменной длины. Длина может быть определена как значение от 0 до 255 перед MySQL 5.0.3, и от 0 до 65,535 в 5.0.3 и более поздних версий. Эффективная максимальная длина VARCHAR в MySQL 5.0.3 и позже подлежит максимальный размер строки (65 535 байт, который является общим для всех столбцов) и используемый набор символов.
однако обратите внимание, что ограничение ниже, если вы используете многобайтовый набор символов, например utf8 или utf8.
использовать
TEXTтипы, чтобы преодолеть ограничение размера строки.четыре типа текста: TINYTEXT, TEXT, MEDIUMTEXT и LONGTEXT. Они соответствуют четырем типам больших двоичных объектов и имеют одинаковую максимальную длину и хранение требования.
в руководстве MySQL указано
значения в Столбцах VARCHAR являются строками переменной длины. Длина может быть определена как значение от 0 до 255 перед MySQL 5.0.3, и от 0 до 65.535 в 5.0.3 и более поздних версиях.
Так это зависит от версии, которую вы используете.
Comments