[mysql] MySQL 유형 텍스트의 최대 길이

개인 메시지를 보내기위한 양식을 만들고 MySQL 데이터베이스 테이블 maxlength의 최대 text필드 길이에 적합한 텍스트 영역 의 값 을 설정하려고 합니다. 문자 입력란에 문자를 몇 개나 저장할 수 있습니까?

많은 경우 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 Kilobytes)
MEDIUMBLOB, MEDIUMTEXT   L + 3 bytes, where L < 2^24   (16 Megabytes)
LONGBLOB, LONGTEXT       L + 4 bytes, where L < 2^32   (4 Gigabytes)

L은 텍스트 필드의 바이트 수입니다. 따라서 텍스트의 최대 문자 수는 2 16 -1입니다 (1 바이트 문자 사용). 65535자를 의미합니다 (1 바이트 문자 사용).

UTF-8 / 멀티 바이트 인코딩 : 각 문자가 멀티 바이트 인코딩을 사용하면 1 바이트 이상의 공간이 소비 될 수 있습니다. UTF-8의 경우 공간 소비는 문자 당 1-4 바이트입니다.


답변

TINYTEXT : 256 바이트
텍스트 : 65,535 바이트
중간 텍스트 : 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 바이트 문자 임).

기본적으로 다음과 같습니다.

“정확한 최대 길이 허용”= “약 길이”(바이트)-1


답변

주문에 따라 http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html , 한계는 L + 2 bytes, where L < 2^16, 또는 64K.

당신은 그것을 제한하는 것에 대해 걱정할 필요가 없습니다. 문자열이 커짐에 따라 추가되는 덩어리로 자동 분류되므로 항상 맹목적으로 64k를 사용하지는 않습니다.


답변

문자 입력란에 문자를 몇 개나 저장할 수 있습니까?

설명서 에 따르면 문자 집합이 UTF8 인 경우 최대 21,844자를 사용할 수 있습니다

많은 경우 varchar에서와 같이 db 텍스트 유형 필드에 길이를 지정할 수 있습니까?

길이를 지정할 필요가 없습니다. 더 많은 문자가 필요한 경우 MEDIUMTEXT 또는 LONGTEXT 데이터 유형을 사용하십시오. VARCHAR을 사용하면 지정 길이는 스토리지 요구 사항이 아니며 데이터베이스에서 데이터를 검색하는 방법에만 해당됩니다.


답변

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소설의 장과 같은 큰 텍스트를 저장해야하는 경우에 사용하십시오 .


답변

TEXT최대 65,535자를 저장할 수있는 문자열 데이터 유형입니다. 그러나 여전히 더 많은 데이터를 저장하려면 데이터 유형을LONGTEXT

ALTER TABLE name_tabelCHANGE text_fieldLONGTEXT CHARACTER SET utf8COLLATE utf8_general_ciNOT NULL;