我正在创建一个发送私人消息的表单,并希望将文本区域的maxlength值设置为MySQL数据库表中文本字段的最大长度。一个类型文本字段可以存储多少字符?

如果有很多,我是否能够在数据库文本类型字段中指定长度,因为我将与varchar?


当前回答

256字节 TEXT 65,535字节~64kb MEDIUMTEXT 16,777,215字节~16MB LONGTEXT 4294967295字节~4GB

TINYTEXT是一种字符串数据类型,最多可以存储255个字符。

TEXT是一种字符串数据类型,最多可以存储65,535个字符。TEXT通常用于简短的文章。

LONGTEXT是一种字符串数据类型,最大长度为4,294,967,295个字符。如果需要存储大型文本,例如小说的一章,请使用LONGTEXT。

其他回答

查看最大数字: 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是文本字段的字节数。因此文本的最大字符数是216-1(使用单字节字符)。表示65535个字符(使用单字节字符)。

UTF-8/多字节编码:使用多字节编码,每个字符可能会占用超过1字节的空间。对于UTF-8,每个字符的空间消耗在1到4字节之间。

根据http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html,限制是L + 2字节,其中L < 2^16,或64k。

你不需要担心限制它,它会自动分解成块,随着字符串的增长而添加,所以它不会总是盲目地使用64k。

一个类型文本字段可以存储多少字符?

根据文档,如果字符集为UTF8,最多可以使用21,844个字符

如果很多,我是否能够在db文本类型字段中指定长度,因为我将与varchar?

你不需要指定长度。如果需要更多字符,请使用MEDIUMTEXT或LONGTEXT数据类型。使用VARCHAR,指定的长度不是为了存储需求,它只是为了如何从数据库中检索数据。

TEXT是一种字符串数据类型,最多可以存储65,535个字符。 但是如果你想存储更多的数据,那就把它的数据类型改为LONGTEXT

更改text_field LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

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

基本上是这样的:

“确切的马克斯。允许长度" = "约。长度",单位为字节- 1

注意:如果使用多字节字符(如阿拉伯语,其中每个阿拉伯语字符占用2个字节),列“Exact Max.”长度允许”TINYTEXT可以容纳多达127个阿拉伯字符(注:空格,破折号,下划线,和其他这样的字符,是1字节字符)。