MySQLtypes文本的最大长度
我正在创build一个发送私人消息的表单,并希望设置一个textarea的最大长度值适合我的MySQL数据库表中的text
字段的最大长度。 types文本字段可以存储多less个字符?
如果很多,我将能够在数据库文本types字段中指定长度,因为我会与varchar?
查看最大数量: 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个字节之间。
TINYTEXT:256字节
文本:65535字节
MEDIUMTEXT:16,777,215字节
LONGTEXT:4,294,967,295字节
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
注意:如果使用多字节字符,则“准许的最大长度允许”列将有不同的长度。 例如:如果您使用2个字节的字符,则TINYTEXT
的确切最大长度将是127个字符。 基本上,这是允许的字节数-1。
根据http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html ,限制是L + 2 bytes, where L < 2^16
或64k。
你不需要关心自己的限制,它会自动分解成随着string增长而添加的块,所以它不会总是盲目地使用64k。
types文本字段可以存储多less个字符?
根据文档如果字符集是UTF8,则最多可以使用21,844个字符
如果很多,我可以指定长度在数据库文本types字段,因为我会与varchar?
你不需要指定长度。 如果您需要更多的字符使用数据typesMEDIUMTEXT或LONGTEXT。 使用VARCHAR,指定的长度不适用于存储要求,仅用于从数据库中检索数据的方式。
TINYTEXT 256 bytes TEXT 65,535 bytes ~64kb MEDIUMTEXT 16,777,215 bytes ~16MB LONGTEXT 4,294,967,295 bytes ~4GB
TINYTEXT
是一个string数据types,最多可存储255
字符。
TEXT
是一个string数据types,最多可存储65,535
字符。 TEXT
通常用于简短的文章。
LONGTEXT
是一个string数据types,最大长度为4,294,967,295
字符。 如果您需要存储大量文本,例如小说的章节,请使用LONGTEXT
。
TEXT是一个string数据types,最多可存储65,535个字符。 但是,如果你想存储更多的数据,然后改变它的数据types为LONGTEXT
ALTER TABLE name_tabel
CHANGE text_field
LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;