Максимальная длина текста типа MySQL
Я создаю форму для отправки личных сообщений и хочу установить значение maxlength
текстового поля, соответствующее максимальной длине поля text
в моей таблице базы данных MySQL. Сколько символов может хранить текстовое поле типа?
Если много, могу ли я указать длину в поле типа текста базы данных, как я бы хотел с varchar?
Ответы
Ответ 1
См. максимальные номера:
http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html
TINYBLOB, TINYTEXT L + 1 bytes, where L < 2^8 (255 Bytes)
BLOB, TEXT L + 2 bytes, where L < 2^16 (64 Kibibytes)
MEDIUMBLOB, MEDIUMTEXT L + 3 bytes, where L < 2^24 (16 Mebibytes)
LONGBLOB, LONGTEXT L + 4 bytes, where L < 2^32 (4 Gibibytes)
L - количество байтов в текстовом поле. Таким образом, максимальное число символов для текста равно 2 16 -1 (с использованием однобайтовых символов). Средство 65 535 символов (с использованием однобайтовых символов).
кодировка UTF-8/MultiByte. Используя кодировку MultiByte, каждый символ может потреблять более 1 байта пространства. Для UTF-8 потребление пространства составляет от 1 до 4 байтов на char.
Ответ 2
TINYTEXT: 256 байт
ТЕКСТ: 65,535 байт
MEDIUMTEXT: 16,777,215 байт
LONGTEXT: 4 294 967 295 байт.
Ответ 3
Type | Approx. Length | Exact Max. Length Allowed
-----------------------------------------------------------
TINYTEXT | 256 Bytes | 255 characters
TEXT | 64 Kilobytes | 65,535 characters
MEDIUMTEXT | 16 Megabytes | 16,777,215 characters
LONGTEXT | 4 Gigabytes | 4,294,967,295 characters
Примечание. Если вы используете многобайтовые символы, столбец "Точное максимальное допустимое значение длины" будет иметь разную длину. Например: если вы используете двухбайтовые символы, точная максимальная длина для TINYTEXT
будет 127 символов. В принципе, это число байтов, разрешенных -1.
Ответ 4
В соответствии с http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html предел равен L + 2 bytes, where L < 2^16
или 64k.
Вам не нужно ограничиваться этим, он автоматически разбивается на куски, которые добавляются по мере роста строки, поэтому он не всегда будет слепо использовать 64k.
Ответ 5
Сколько символов может хранить текстовое поле типа?
Согласно Документация Вы можете использовать максимум 21 844 символа, если кодировка UTF8
Если много, могу ли я указать длину в поле типа текста db, как я бы хотел с varchar?
Вам не нужно указывать длину. Если вам нужны другие типы данных использования символов MEDIUMTEXT или LONGTEXT. С VARCHAR длина спецификаций не относится к требованию Storage, но только для того, как данные извлекаются из базы данных.
Ответ 6
TINYTEXT 256 bytes
TEXT 65,535 bytes ~64kb
MEDIUMTEXT 16,777,215 bytes ~16MB
LONGTEXT 4,294,967,295 bytes ~4GB
TINYTEXT
- строковый тип данных, который может хранить до 255
символов.
TEXT
- это строковый тип данных, который может хранить до 65,535
символов. TEXT
обычно используется для кратких статей.
LONGTEXT
- строковый тип данных с максимальной длиной 4,294,967,295
символов. Используйте LONGTEXT
, если вам нужно сохранить большой текст, например главу романа.
Ответ 7
TEXT - это строковый тип данных, который может хранить до 65 535 символов.
Но если вы хотите сохранить больше данных, измените его тип данных на LONGTEXT
ALTER TABLE name_tabel
CHANGE text_field
LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;