>데이터 베이스 >MySQL 튜토리얼 >varchar(max)와 동등한 MySQL은 무엇입니까?

varchar(max)와 동등한 MySQL은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-13 03:15:10619검색

What's the MySQL Equivalent of varchar(max)?

MySQL에서 varchar(max)에 해당하는 항목 탐색

MySQL은 varchar(max)에 해당하는 명시적인 항목을 제공하지 않습니다. 다른 데이터베이스 시스템에서 사용되는 데이터 유형입니다. 그러나 MySQL의 제한 내에서 유사한 기능을 달성할 수 있는 방법이 있습니다.

VARCHAR 크기 제한

기본적으로 VARCHAR 필드는 255자입니다. 이 제한을 확장하려면 VARCHAR(length) 구문을 사용할 수 있습니다. 그러나 이 길이에는 여전히 MySQL의 최대 행 크기인 64KB(BLOB 제외)가 적용됩니다.

예:

VARCHAR(65535)
이렇게 하면

VARCHAR 필드의 최대 길이는 65535자입니다.

문자 집합 고려 사항

UTF8과 같은 멀티바이트 문자 집합은

VARCHAR

필드의 유효 길이를 줄입니다. UTF8에서는 각 문자가 여러 바이트의 저장 공간을 차지할 수 있습니다. 즉, UTF8을 사용하는 VARCHAR 필드의 실제 최대 길이는 다음과 같습니다.

VARCHAR(21844) CHARACTER SET utf8
VARCHAR 길이 제한의 예

최대 행 크기 계산에는

VARCHAR

길이 인코딩에 대한 저장 오버헤드가 포함되어야 하므로 최대 길이는 최대 행 크기보다 약간 작게 선언할 수 있습니다.

그러나 길이를 약간 줄이면 테이블을 생성할 수 있습니다.
CREATE TABLE foo ( v VARCHAR(65534) );
ERROR 1118 (42000): Row size too large...

멀티바이트 문자 집합 사용 각 문자에 필요한 더 큰 저장 공간으로 인해 최대 길이가 더욱 줄어듭니다.
CREATE TABLE foo ( v VARCHAR(65532) );
Query OK, 0 rows affected...

결론적으로 MySQL에는 다음과 정확히 동일한 기능이 없습니다.
CREATE TABLE foo ( v VARCHAR(65532) ) CHARSET=utf8;
ERROR 1074 (42000): Column length too big for...
varchar(max)

, VARCHAR(length) 데이터 유형은 사용된 최대 행 크기 및 문자 집합의 제한 내에서 큰 텍스트 값을 수용할 수 있는 수단을 제공합니다.

위 내용은 varchar(max)와 동등한 MySQL은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.