Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Maximum length for MySQL type text

Tags:

database

mysql

I'm creating a form for sending private messages and want to set the maxlength value of a textarea appropriate to the max length of a text field in my MySQL database table. How many characters can a type text field store?

If a lot, would I be able to specify length in the database text type field as I would with varchar?

like image 780
CyberJunkie Avatar asked Jul 20 '11 18:07

CyberJunkie


2 Answers

See for maximum numbers: 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 Kilobytes) MEDIUMBLOB, MEDIUMTEXT   L + 3 bytes, where L < 2^24   (16 Megabytes) LONGBLOB, LONGTEXT       L + 4 bytes, where L < 2^32   (4 Gigabytes) 

L is the number of bytes in your text field. So the maximum number of chars for text is 216-1 (using single-byte characters). Means 65 535 chars(using single-byte characters).

UTF-8/MultiByte encoding: using MultiByte encoding each character might consume more than 1 byte of space. For UTF-8 space consumption is between 1 to 4 bytes per char.

like image 99
fyr Avatar answered Oct 12 '22 14:10

fyr


TINYTEXT: 256 bytes
TEXT: 65,535 bytes
MEDIUMTEXT: 16,777,215 bytes
LONGTEXT: 4,294,967,295 bytes

like image 43
Cristian Oana Avatar answered Oct 12 '22 14:10

Cristian Oana